/* Tela de Lançamentos — filtro por coluna no estilo AutoFiltro, seleção e exclusão em lote. */
body.tela-lancamentos main>*:not(header):not(#telaLancamentos){display:none!important}
body:not(.tela-lancamentos) #telaLancamentos{display:none}

#telaLancamentos{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.lanc-head small{color:var(--purple);font-weight:900;letter-spacing:.08em;font-size:11px}
.lanc-head h2{margin:3px 0;font-size:28px;letter-spacing:-.02em}
.lanc-head p{margin:0;color:var(--muted)}

/* barra de comando */
.lanc-cmd{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:12px 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lanc-cmd button{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:11px 15px;font:800 13.5px/1 inherit;cursor:pointer}
.lanc-cmd button:hover:not(:disabled){border-color:#d8cfe6}
.lanc-cmd button:disabled{opacity:.45;cursor:not-allowed}
.lanc-cmd button.novo{border:0;background:var(--purple);color:#fff;padding:12px 16px}
.lanc-cmd button.excluir{border:1.5px solid #f3b9b9;background:#fff7f7;color:#b91c1c}
.lanc-cmd button.importar{border:1.5px solid var(--purple);background:#f9f5ff;color:#5b21b6}
.lanc-cmd .sep{width:1px;height:28px;background:var(--border);margin:0 5px}
.ico{width:19px;height:19px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ico-s{width:16px;height:16px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* etiquetas dos filtros ativos */
.lanc-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lanc-tags:empty{display:none}
.lanc-tag{display:inline-flex;align-items:center;gap:7px;background:#f1ebff;color:#5b21b6;border:1px solid #e0d4fb;border-radius:99px;padding:6px 8px 6px 12px;font-size:12.5px;font-weight:700}
.lanc-tag button{border:0;background:#e2d5fb;color:#5b21b6;border-radius:99px;width:19px;height:19px;line-height:1;font-weight:900;cursor:pointer;padding:0}
.lanc-tag.limpar{background:#fff;border-color:var(--border);color:var(--muted);padding:6px 12px;cursor:pointer}

/* barra da seleção */
.lanc-selecao{display:none;align-items:center;gap:16px;background:var(--purple);color:#fff;border-radius:14px;padding:13px 16px;flex-wrap:wrap}
.lanc-selecao.on{display:flex}
.lanc-selecao b{font-size:15px}
.lanc-selecao span{color:#e6dcff;font-size:13px}
.lanc-selecao .direita{margin-left:auto;display:flex;gap:8px}
.lanc-selecao button{border:0;background:#ffffff2e;color:#fff;border-radius:9px;padding:10px 13px;font:800 13px/1 inherit;cursor:pointer;display:flex;align-items:center;gap:7px}
.lanc-selecao button.apagar{background:#fff;color:#7c1d1d}

/* tabela */
.lanc-tabela{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;position:relative}
.lanc-linha{display:grid;grid-template-columns:38px 92px minmax(180px,1fr) 152px 156px 128px 70px;gap:13px;padding:12px 18px;align-items:center}
.lanc-linha.cabecalho{border-bottom:1px solid var(--border);background:#faf8fd;border-radius:16px 16px 0 0}
.lanc-linha+.lanc-linha{border-top:1px solid #f4f1f8}
.lanc-linha.marcada{background:#faf7ff}
.lanc-th{display:flex;align-items:center;gap:6px;font-weight:700;font-size:11.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.lanc-th.ativo{color:var(--purple)}
.lanc-th .funil{color:#b3aabf;display:flex}
.lanc-th.ativo .funil{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--purple);color:#fff}
.lanc-th.ativo .funil svg{width:13px;height:13px;fill:currentColor;stroke:none}
.lanc-th.direita{justify-content:flex-end}
.lanc-data{color:var(--muted);font-variant-numeric:tabular-nums}
.lanc-desc{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lanc-desc small{display:block;font-weight:600;color:var(--muted);font-size:11.5px}
.lanc-conta{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lanc-valor{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.lanc-valor.entrada{color:var(--green)}
.lanc-valor.saida{color:var(--red)}
.chip{display:inline-flex;align-self:start;justify-self:start;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap;background:#f1eef8;color:#5b5169}
.chip.vazio{border:1px dashed #d8cfe6;background:none;color:var(--muted)}
.chip.alimentacao{background:#fff5d8;color:#9a6500}.chip.casa{background:#e8f4ff;color:#0b4a8f}
.chip.educacao{background:#f3e8ff;color:#6b21a8}.chip.lazer{background:#ffeafc;color:#9d1a7f}
.chip.saude{background:#ffeef0;color:#9f1239}.chip.transporte{background:#eef2ff;color:#3730a3}
.chip.outros{background:#ecfff2;color:#08762d}
.lanc-acoes{display:flex;gap:8px;justify-content:flex-end;color:#8d84a0}
.lanc-acoes button{border:0;background:none;padding:2px;color:inherit;cursor:pointer;display:flex}
.lanc-acoes button:hover{color:var(--purple)}
.lanc-acoes button.remover:hover{color:var(--red)}
.lanc-check{width:18px;height:18px;border-radius:4px;border:1.5px solid #cdc4da;background:#fff;padding:0;cursor:pointer;display:grid;place-items:center;color:#fff}
.lanc-check[aria-checked=true],.lanc-check[aria-checked=mixed]{background:var(--purple);border-color:var(--purple)}
.lanc-check svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;display:none}
.lanc-check[aria-checked=true] .sim,.lanc-check[aria-checked=mixed] .parcial{display:block}
.lanc-rodape{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:#faf8fd;border-top:1px solid var(--border);border-radius:0 0 16px 16px;flex-wrap:wrap}
.lanc-rodape span{color:var(--muted);font-size:13px}
.lanc-rodape .totais{display:flex;gap:18px;align-items:baseline}
.lanc-rodape strong{font-size:18px;font-variant-numeric:tabular-nums}
.lanc-vazio{padding:52px 24px;text-align:center;color:var(--muted)}
.lanc-vazio b{display:block;color:var(--text);font-size:17px;margin-bottom:4px}

/* painel do filtro da coluna (AutoFiltro) */
.lanc-filtro{position:fixed;width:306px;background:#fff;border:1px solid #d8d1e4;border-radius:12px;box-shadow:0 22px 54px #21133330;padding:8px;z-index:30}
.lanc-filtro[hidden]{display:none}
.lanc-filtro .opt{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;cursor:pointer;border:0;background:none;width:100%;text-align:left;font:inherit;font-size:13px;color:inherit}
.lanc-filtro .opt:hover{background:var(--bg)}
.lanc-filtro .divisor{display:block;height:1px;background:var(--border);margin:6px 4px}
.lanc-filtro .busca{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:0 9px;margin:4px 4px 8px}
.lanc-filtro .busca input{border:0;outline:0;padding:8px 0;font:inherit;font-size:13px;width:100%;background:transparent}
.lanc-filtro .valores{max-height:344px;overflow:auto;display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:9px;padding:6px;margin:0 4px}
.lanc-filtro .valores .opt.tudo{background:var(--bg);font-weight:700}
.lanc-filtro .valores .filho{padding-left:26px}
.lanc-filtro .valores .rotulo{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lanc-filtro .valores .qtd{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.lanc-filtro .pe{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 4px 4px}
.lanc-filtro .pe button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:10px;font:800 12.5px/1 inherit;cursor:pointer}
.lanc-filtro .pe button.ok{border:0;background:var(--purple);color:#fff}

/* menus e caixas */
.lanc-menu{position:fixed;background:#fff;border:1px solid #d8d1e4;border-radius:12px;box-shadow:0 22px 54px #21133330;padding:8px;z-index:30;width:290px}
.lanc-menu[hidden]{display:none}
.lanc-menu button{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;cursor:pointer;border:0;background:none;width:100%;text-align:left;font:inherit}
.lanc-menu button:hover:not(:disabled){background:var(--bg)}
.lanc-menu button:disabled{opacity:.4;cursor:not-allowed}
.lanc-menu button span{display:grid;gap:1px}
.lanc-menu button strong{font-size:13.5px}
.lanc-menu button small{color:var(--muted)}
.lanc-menu .divisor{display:block;height:1px;background:var(--border);margin:6px 8px}

.lanc-fundo{position:fixed;inset:0;background:#1d183066;display:grid;place-items:center;padding:24px;z-index:40;overflow:auto}
.lanc-fundo[hidden]{display:none}
.lanc-caixa{background:#fff;border-radius:18px;box-shadow:0 30px 70px #21133340;padding:24px;width:100%;max-width:620px;display:flex;flex-direction:column;gap:18px}
.lanc-caixa h3{margin:0;font-size:19px}
.lanc-caixa p.sub{margin:0;color:var(--muted)}
.lanc-caixa .campos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lanc-caixa label{display:grid;gap:6px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.lanc-caixa label.largo{grid-column:1/-1}
.lanc-caixa input,.lanc-caixa select{padding:11px;border:1px solid var(--border);border-radius:10px;font:400 14px/1.45 inherit;color:var(--text);background:#fff;text-transform:none;letter-spacing:0}
.lanc-caixa .pe{display:flex;gap:10px;justify-content:flex-end}
.lanc-caixa .pe button{border:1px solid var(--border);background:#fff;border-radius:11px;padding:14px 20px;font:800 13.5px/1 inherit;cursor:pointer}
.lanc-caixa .pe button.principal{border:0;background:var(--purple);color:#fff}
.lanc-caixa .pe button.perigo{border:0;background:#dc2626;color:#fff;display:flex;align-items:center;gap:8px}
.lanc-caixa .pe button:disabled{opacity:.45;cursor:not-allowed}
.lanc-caixa .aviso{display:flex;gap:14px;align-items:flex-start}
.lanc-caixa .aviso i{width:44px;height:44px;border-radius:13px;background:#ffeef0;display:grid;place-items:center;color:#b91c1c;flex:0 0 auto;font-style:normal;font-size:22px;font-weight:900}
.lanc-caixa .resumo{display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:#fff7f7;border:1px solid #f7dcdc;border-radius:12px;padding:16px}
.lanc-caixa .resumo div{display:grid;gap:2px}
.lanc-caixa .resumo span{color:#7f1d1d;font-size:12.5px;font-weight:700}
.lanc-caixa .resumo strong{font-size:17px;font-variant-numeric:tabular-nums}
.lanc-caixa .resumo .grande{font-size:26px;color:#b91c1c}
.lanc-caixa .aceite{display:flex;align-items:center;gap:11px;background:var(--bg);border-radius:11px;padding:14px;cursor:pointer;font-weight:700;font-size:13.5px;color:var(--text);text-transform:none;letter-spacing:0}
.lanc-caixa .aceite input{width:19px;height:19px;accent-color:var(--purple)}
.lanc-erro{color:var(--red);font-weight:700;font-size:13px}
.lanc-erro:empty{display:none}

@media(max-width:1180px){
  .lanc-linha{grid-template-columns:32px 76px minmax(140px,1fr) 128px 118px 110px 58px;gap:9px;padding:11px 12px}
  .lanc-caixa .campos{grid-template-columns:1fr}
}

/* ---------- importação de extrato ---------- */
.lanc-caixa.larga{max-width:1120px}
.lanc-caixa label.imp-solta,.imp-solta{display:grid;justify-items:center;gap:6px;text-align:center;border:2px dashed #d8cfe6;border-radius:14px;padding:30px 20px;cursor:pointer;background:#faf8fd;color:var(--purple);text-transform:none;letter-spacing:0}
.imp-solta:hover{border-color:var(--purple);background:#f6f0ff}
.imp-solta b{font-size:15px;color:var(--text)}
.imp-solta small{color:var(--muted);font-weight:400;max-width:520px}
.imp-trocar{display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 13px;font:800 12.5px/1 inherit;cursor:pointer}
.imp-aviso{display:flex;gap:10px;align-items:flex-start;background:#fff8df;color:#7a5a10;border-radius:11px;padding:11px 13px;font-size:13px;line-height:1.45}
.imp-resumo{display:flex;flex-wrap:wrap;gap:22px;background:#faf8fd;border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.imp-resumo div{display:grid;gap:2px}
.imp-resumo span{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.imp-resumo strong{font-size:18px;font-variant-numeric:tabular-nums}
.imp-barra{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.imp-barra button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:9px 12px;font:800 12.5px/1 inherit;cursor:pointer}
.imp-barra button:hover{border-color:#d8cfe6}
.imp-barra .sep{width:1px;height:24px;background:var(--border);margin:0 4px}
.imp-barra label{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.imp-barra select{padding:9px;border:1px solid var(--border);border-radius:9px;font:400 13px/1 inherit;color:var(--text);background:#fff;text-transform:none;letter-spacing:0}
.imp-barra label.imp-cartao{background:#fff8df;color:#7a5a10;border-radius:9px;padding:8px 11px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:12.5px}
.imp-barra .imp-cartao input{accent-color:var(--purple);width:16px;height:16px}
.imp-lista{border:1px solid var(--border);border-radius:12px;overflow:auto;max-height:46vh}
.imp-linha{display:grid;grid-template-columns:34px 92px minmax(220px,1fr) 190px 168px 118px;gap:12px;padding:9px 14px;align-items:center;border-bottom:1px solid #f4f1f8}
.imp-linha:last-child{border-bottom:0}
.imp-linha.cabecalho{background:#faf8fd;position:sticky;top:0;z-index:1;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.imp-linha.fora{opacity:.5}
.imp-linha.repetida{background:#fffaf5}
.imp-desc{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imp-desc small{display:block;font-weight:700;font-size:11px;color:#b45309;white-space:normal}
.imp-forn{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imp-forn small{display:block;font-size:11px;color:var(--muted);font-weight:600}
.imp-linha select{padding:7px 8px;border:1px solid var(--border);border-radius:8px;font:400 12.5px/1.2 inherit;color:var(--text);background:#fff;width:100%}
.imp-mais{width:100%;border:0;background:#faf8fd;padding:12px;font:800 12.5px/1 inherit;color:var(--purple);cursor:pointer}
@media(max-width:1180px){.imp-linha{grid-template-columns:30px 80px minmax(150px,1fr) 130px 140px 100px;gap:8px}}
.imp-conta{display:grid;gap:5px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.imp-conta select{padding:9px;border:1px solid var(--border);border-radius:9px;font:400 13px/1 inherit;color:var(--text);background:#fff;text-transform:none;letter-spacing:0}

/* faixa das contas e aviso de falha de carga */
.lanc-contas{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:11px 14px}
.lanc-contas b{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-right:4px}
.lanc-contas.vazia{background:#fff8df;border-color:#f2e2ab;color:#7a5a10}
.lanc-contas.vazia span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;flex:1}
.lanc-conta-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:99px;padding:6px 12px;font-size:12.5px;font-weight:700}
.lanc-conta-chip em{font-style:normal;color:var(--muted);font-variant-numeric:tabular-nums}
.lanc-contas button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px 12px;font:800 12.5px/1 inherit;cursor:pointer;margin-left:auto}
.lanc-contas button:hover{border-color:var(--purple);color:var(--purple)}
.lanc-falha{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#fff7f7;border:1px solid #f7dcdc;border-radius:14px;padding:14px 16px}
.lanc-falha>div{display:flex;gap:12px;align-items:flex-start;flex:1;color:#7f1d1d}
.lanc-falha b{display:block;font-size:14px}
.lanc-falha small{color:#9a3b3b}
.lanc-falha button{border:0;background:#b91c1c;color:#fff;border-radius:9px;padding:11px 15px;font:800 13px/1 inherit;cursor:pointer}

/* ---------- tela de cadastros ---------- */
body.tela-cadastros main>*:not(header):not(#telaCadastros){display:none!important}
body:not(.tela-cadastros) #telaCadastros{display:none}
#telaCadastros{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.cad-abas{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:12px 14px}
.cad-abas button{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:11px 14px;font:800 13px/1 inherit;cursor:pointer}
.cad-abas button.ativa{border-color:var(--purple);background:#f9f5ff;color:#5b21b6}
.cad-abas button i{font-style:normal;background:var(--bg);border-radius:99px;padding:2px 7px;font-size:11.5px;color:var(--muted)}
.cad-abas button.ativa i{background:#ede4ff;color:#5b21b6}
.cad-abas .cad-novo{margin-left:auto;border:0;background:var(--purple);color:#fff}
.cad-linha{display:grid;gap:12px;padding:12px 18px;align-items:center;border-bottom:1px solid #f4f1f8}
.cad-linha:last-child{border-bottom:0}
.cad-linha.cabecalho{background:#faf8fd;border-bottom:1px solid var(--border);border-radius:16px 16px 0 0;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.cad-linha.contas{grid-template-columns:minmax(150px,1fr) 130px minmax(180px,1.2fr) 150px 140px 70px}
.cad-linha.parceiros{grid-template-columns:minmax(150px,1fr) 150px 150px 150px minmax(160px,1.2fr) 60px 70px}
.cad-linha.categorias{grid-template-columns:minmax(150px,1fr) 170px 150px 60px 70px}
.cad-nome{font-weight:700}
.cad-sub{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cad-sub em{font-style:normal;color:#b3aabf}
.cad-sub.num,.num{font-variant-numeric:tabular-nums}
.cad-termos{font-size:12.5px;color:#5b5169;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cad-termos em{color:#b3aabf}
.cad-cores{display:flex;align-items:center;gap:6px}
.cad-cores i{width:20px;height:20px;border-radius:6px;border:1px solid var(--border);display:block}
.cad-cores small{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cad-banco{border-bottom:1px solid var(--border)}
.cad-banco:last-child{border-bottom:0}
.cad-banco-topo{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#faf8fd}
.cad-banco-topo b{font-size:15px}
.cad-codigo{background:#ede4ff;color:#5b21b6;border-radius:99px;padding:3px 9px;font-size:11.5px;font-weight:700}
.cad-banco-topo .lanc-acoes{margin-left:auto}
.cad-agencia{display:flex;align-items:center;gap:12px;padding:11px 18px 11px 34px;border-top:1px solid #f4f1f8;font-size:13.5px}
.cad-agencia .lanc-acoes{margin-left:auto}
.cad-agencia.vazia{color:var(--muted);font-style:italic}
.lanc-caixa .cad-checkbox{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:11px;padding:13px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--text)}
.lanc-caixa .cad-checkbox input{width:18px;height:18px;accent-color:var(--purple)}
@media(max-width:1180px){
  .cad-linha.contas{grid-template-columns:minmax(120px,1fr) 100px minmax(140px,1fr) 110px 110px 60px;gap:8px;padding:11px 12px}
  .cad-linha.parceiros{grid-template-columns:minmax(120px,1fr) 110px 120px 120px minmax(120px,1fr) 50px 60px;gap:8px;padding:11px 12px}
  .cad-linha.categorias{grid-template-columns:minmax(120px,1fr) 130px 120px 50px 60px;gap:8px;padding:11px 12px}
}

/* ensinar a classificação na importação */
.lanc-caixa.media{max-width:720px}
.imp-classificar{border:1.5px solid var(--purple)!important;background:#f9f5ff!important;color:#5b21b6!important}
.imp-exemplo{display:grid;gap:5px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.imp-exemplo .rotulo-mini{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.imp-exemplo b{font-size:15px;word-break:break-word}
.imp-exemplo span{color:var(--muted);font-size:13px}
.imp-exemplo small{color:var(--purple);font-weight:700;font-size:12.5px}
.imp-fonte{display:block;font-size:11px;color:var(--muted);font-weight:600}
.imp-fonte.cadastro{color:#5b21b6}
.imp-fonte.ensinado{color:#08762d}
.lanc-pendentes{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#f9f5ff;border:1px solid #e0d4fb;border-radius:14px;padding:12px 16px}
.lanc-pendentes span{display:flex;align-items:center;gap:9px;color:#5b21b6;font-size:13.5px;font-weight:600;flex:1;line-height:1.4}
.lanc-pendentes button{border:0;background:var(--purple);color:#fff;border-radius:9px;padding:10px 14px;font:800 13px/1 inherit;cursor:pointer;white-space:nowrap}

/* ---------- tela de metas, orçamento e reserva ---------- */
body.tela-metas main>*:not(header):not(#telaMetas){display:none!important}
body:not(.tela-metas) #telaMetas{display:none}
#telaMetas{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.met-resumo{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.met-resumo>div{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:16px 18px;display:grid;gap:5px}
.met-resumo span{color:var(--muted);font-size:12.5px;font-weight:600}
.met-resumo strong{font-size:21px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.met-bloco{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}
.met-cabeca{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.met-cabeca h3{margin:0;font-size:17.5px;letter-spacing:-.01em}
.met-cabeca p{margin:3px 0 0;color:var(--muted);font-size:13px}
.met-cabeca>div:first-child{flex:1;min-width:220px}
.met-novo{display:flex;align-items:center;gap:8px;border:0;background:var(--purple);color:#fff;border-radius:10px;padding:11px 15px;font:800 13px/1 inherit;cursor:pointer;white-space:nowrap}
.met-periodo{display:flex;align-items:center;gap:8px}
.met-periodo span{font-weight:800;font-size:13.5px;min-width:118px;text-align:center}
.met-periodo button:not(.met-novo){border:1px solid var(--border);background:#fff;color:var(--text);border-radius:9px;width:34px;height:34px;font:800 14px/1 inherit;cursor:pointer}
.met-periodo button:not(.met-novo):hover{border-color:#d8cfe6;color:var(--purple)}
.met-metas{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.met-meta,.met-reserva{border:1px solid var(--border);border-radius:14px;padding:15px 16px;display:flex;flex-direction:column;gap:11px;background:#fdfcff}
.met-meta.concluida{border-color:#bfe7cc;background:#f5fdf7}
.met-meta-topo{display:flex;align-items:flex-start;gap:11px}
.met-emoji{width:40px;height:40px;border-radius:12px;background:#f1ebff;display:grid;place-items:center;font-size:20px;flex:0 0 auto}
.met-meta-nome{flex:1;min-width:0}
.met-meta-nome b{display:block;font-size:15.5px;word-break:break-word}
.met-meta-nome small{color:var(--muted);font-size:12.5px}
.met-barra{height:9px;border-radius:99px;background:#eee9f5;overflow:hidden}
.met-barra i{display:block;height:100%;border-radius:99px;background:var(--purple)}
.met-barra i.bom{background:#16a34a}
.met-barra i.atencao{background:#f59e0b}
.met-barra i.ruim{background:#dc2626}
.met-meta-numeros{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.met-meta-numeros b{color:var(--text);font-size:16px}
.met-pct{font-weight:800;color:var(--purple)}
.met-pct.atencao{color:#b45309}
.met-pct.ruim{color:#dc2626}
.met-pct.bom{color:#15803d}
.met-meta-pe{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-top:1px solid #f1edf7;padding-top:11px}
.met-meta-pe small{color:var(--muted);font-size:12.5px;flex:1;min-width:120px}
.met-acoes-meta{display:flex;gap:7px;flex-wrap:wrap}
.met-acoes-meta button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:9px;padding:9px 12px;font:800 12.5px/1 inherit;cursor:pointer}
.met-acoes-meta button:hover{border-color:var(--purple);color:#5b21b6}
.met-orc-total{display:flex;flex-wrap:wrap;gap:18px;background:var(--bg);border-radius:12px;padding:13px 16px;font-size:13px;color:var(--muted)}
.met-orc-total b{color:var(--text);font-size:15.5px;margin-left:6px;font-variant-numeric:tabular-nums}
.met-orc-total b.atencao{color:#b45309}
.met-orc-total b.ruim{color:#dc2626}
.met-orc-linha{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,1.4fr) 190px 58px 60px;gap:14px;align-items:center;padding:11px 2px;border-bottom:1px solid #f4f1f8}
.met-orc-linha:last-child{border-bottom:0}
.met-orc-valores{font-size:13px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.met-orc-valores b{color:var(--text);font-size:14.5px}
.met-orc-linha .met-pct{text-align:right;font-size:13.5px}
.met-movimentos{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow:auto}
.met-mov{display:grid;grid-template-columns:118px 1fr auto;gap:12px;align-items:center;padding:11px 12px;border-radius:11px;background:var(--bg);font-size:13.5px}
.met-mov span:first-child{font-weight:800;font-variant-numeric:tabular-nums}
.met-mov .entrada{color:#15803d}
.met-mov .saida{color:#b91c1c}
.met-mov small{color:var(--muted);font-size:12.5px}
@media(max-width:1180px){
  .met-resumo{grid-template-columns:repeat(2,1fr)}
  .met-orc-linha{grid-template-columns:minmax(120px,1fr) 150px 60px 60px;gap:10px}
  .met-orc-linha .met-barra{display:none}
}
@media(max-width:640px){
  .met-resumo{grid-template-columns:1fr}
  .met-orc-linha{grid-template-columns:minmax(0,1fr) 52px 46px;grid-template-areas:"nome pct acoes" "valores valores valores";row-gap:6px;column-gap:8px}
  .met-orc-nome{grid-area:nome}
  .met-orc-linha .met-pct{grid-area:pct}
  .met-orc-linha .lanc-acoes{grid-area:acoes}
  .met-orc-valores{grid-area:valores;text-align:left}
  .met-mov{grid-template-columns:100px 1fr;row-gap:4px}
  .met-mov small{grid-column:2;text-align:left}
}

/* ---------- tela do calendário e agenda de contas ---------- */
body.tela-calendario main>*:not(header):not(#telaCalendario){display:none!important}
body:not(.tela-calendario) #telaCalendario{display:none}
#telaCalendario{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.cal-barra{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:12px 14px}
.cal-barra b{font-size:16px;min-width:150px;text-align:center;letter-spacing:-.01em}
.cal-barra button:not(.cal-nova):not(.cal-hoje){border:1px solid var(--border);background:#fff;color:var(--text);border-radius:9px;width:36px;height:36px;font:800 14px/1 inherit;cursor:pointer}
.cal-barra button:not(.cal-nova):not(.cal-hoje):hover{border-color:#d8cfe6;color:var(--purple)}
.cal-hoje{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:9px;padding:11px 14px;font:800 13px/1 inherit;cursor:pointer}
.cal-hoje:hover{border-color:var(--purple);color:#5b21b6}
.cal-nova{margin-left:auto;display:flex;align-items:center;gap:8px;border:0;background:var(--purple);color:#fff;border-radius:10px;padding:12px 16px;font:800 13px/1 inherit;cursor:pointer}
.cal-resumo{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.cal-resumo>div{background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 7px 24px #2113330a;padding:14px 16px;display:grid;gap:4px}
.cal-resumo span{color:var(--muted);font-size:12px;font-weight:600}
.cal-resumo strong{font-size:19px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cal-resumo .receber strong{color:#15803d}
.cal-resumo .pagar strong{color:#b91c1c}
.cal-resumo .pago strong{color:var(--purple)}
.cal-atraso{display:flex;gap:11px;align-items:flex-start;background:#fff7f7;border:1px solid #f3b9b9;border-radius:14px;padding:13px 16px;color:#b91c1c}
.cal-atraso .ico-s{flex:0 0 auto;margin-top:2px}
.cal-atraso b{display:block;font-size:14px}
.cal-atraso span{font-size:13px;color:#9a3b3b;line-height:1.5}

.cal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 7px 24px #2113330a}
.cal-cabeca{background:#faf8fd;padding:10px 8px;text-align:center;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.cal-dia{background:#fff;min-height:104px;padding:8px;display:flex;flex-direction:column;gap:5px}
.cal-dia.fora{background:#fbfafd}
.cal-dia[data-dia]{cursor:pointer}
.cal-dia[data-dia]:hover{background:#faf8fd}
.cal-dia[data-dia]:focus-visible{outline:2px solid var(--purple);outline-offset:-2px}
.cal-dia>b{font-size:13px;color:var(--muted);font-weight:700;line-height:1}
.cal-dia.cheio>b{color:var(--text)}
.cal-dia.hoje{background:#f9f5ff}
.cal-dia.hoje>b{background:var(--purple);color:#fff;border-radius:99px;width:22px;height:22px;display:grid;place-items:center;font-size:12px}
.cal-marcas{display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-marca{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;border-radius:6px;padding:3px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-marca em{font-style:normal;font-weight:800;margin-left:auto;font-variant-numeric:tabular-nums;flex:0 0 auto}
.cal-marca.pagar{background:#fff1f1;color:#a51c1c}
.cal-marca.receber{background:#effaf1;color:#136c2e}
.cal-marca.pagar.atrasada{background:#dc2626;color:#fff}
.cal-marca.receber.atrasada{background:#15803d;color:#fff}
.cal-marca.baixada{background:#f2f0f6;color:#7b7189;text-decoration:line-through}
.cal-marca.fatura{background:#fff6e6;color:#92580b}
.cal-marca.meta{background:#f1ebff;color:#5b21b6}
.cal-marca.lancado{background:var(--bg);color:var(--muted);font-weight:600}
.cal-mais{font-size:10.5px;color:var(--muted);font-weight:700;padding-left:5px}

.cal-bloco{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:16px 18px 8px;display:flex;flex-direction:column;gap:12px}
.cal-lista{display:flex;flex-direction:column}
.cal-item{display:grid;grid-template-columns:58px minmax(140px,1fr) 150px 118px 100px;gap:14px;align-items:center;padding:12px 2px;border-bottom:1px solid #f4f1f8}
.cal-item:last-child{border-bottom:0}
.cal-lista.agenda .cal-item{grid-template-columns:86px minmax(140px,1fr) 150px 118px 66px}
.cal-quando{display:grid;justify-items:center;background:var(--bg);border-radius:10px;padding:6px 4px}
.cal-quando b{font-size:14px;font-variant-numeric:tabular-nums}
.cal-quando small{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.cal-item.atrasada .cal-quando{background:#fff1f1}
.cal-item.atrasada .cal-quando b{color:#b91c1c}
.cal-tipo{font-size:11px;font-weight:800;border-radius:99px;padding:5px 9px;text-align:center}
.cal-tipo.pagar{background:#fff1f1;color:#a51c1c}
.cal-tipo.receber{background:#effaf1;color:#136c2e}
.cal-quem{min-width:0}
.cal-quem b{display:block;font-size:14.5px;word-break:break-word}
.cal-quem small{color:var(--muted);font-size:12.5px}
.cal-quem small i{font-style:normal;color:#b91c1c;font-weight:700}
.cal-valor{text-align:right;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
.cal-valor.pagar{color:#b91c1c}
.cal-valor.receber{color:#15803d}
.cal-baixar{border:1.5px solid var(--purple);background:#f9f5ff;color:#5b21b6;border-radius:9px;padding:10px 12px;font:800 12.5px/1 inherit;cursor:pointer}
.cal-baixar:hover{background:var(--purple);color:#fff}

.cal-dia-detalhe{display:flex;flex-direction:column;gap:14px;max-height:56vh;overflow:auto}
.cal-grupo{display:flex;flex-direction:column;gap:6px}
.cal-grupo>small{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.cal-det{display:flex;align-items:center;gap:12px;background:var(--bg);border-radius:11px;padding:11px 13px}
.cal-det span{flex:1;min-width:0}
.cal-det b{display:block;font-size:14px;word-break:break-word}
.cal-det small{color:var(--muted);font-size:12px}
.cal-det em{font-style:normal;font-weight:800;font-size:14.5px;font-variant-numeric:tabular-nums}
.cal-det em.pagar{color:#b91c1c}
.cal-det em.receber{color:#15803d}
.cal-det.atrasada{background:#fff1f1}
.cal-det.baixada b{color:var(--muted)}
.cal-det button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:9px;padding:9px 12px;font:800 12.5px/1 inherit;cursor:pointer;white-space:nowrap}
.cal-det button.principal{border:0;background:var(--purple);color:#fff}
.lanc-caixa label[hidden]{display:none}

@media(max-width:1180px){
  .cal-resumo{grid-template-columns:repeat(3,1fr)}
  .cal-item{grid-template-columns:52px minmax(120px,1fr) 108px 92px;gap:10px}
  .cal-lista.agenda .cal-item{grid-template-columns:78px minmax(120px,1fr) 108px 56px}
  .cal-item .cal-cat{display:none}
  .cal-dia{min-height:92px}
}
@media(max-width:760px){
  .cal-resumo{grid-template-columns:repeat(2,1fr)}
  .cal-nova{margin-left:0;width:100%;justify-content:center}
  .cal-grade{font-size:12px}
  .cal-dia{min-height:74px;padding:5px}
  .cal-marca{font-size:0;padding:0;height:6px;border-radius:99px;gap:0}
  .cal-marca em{display:none}
  .cal-marca.lancado{height:6px}
  .cal-mais{display:none}
  .cal-item{grid-template-columns:48px minmax(0,1fr) 96px;grid-template-areas:"quando quem valor" "quando acao acao";row-gap:8px}
  .cal-item .cal-quando{grid-area:quando}
  .cal-item .cal-quem{grid-area:quem}
  .cal-item .cal-valor{grid-area:valor}
  .cal-item .cal-baixar{grid-area:acao;justify-self:start}
  .cal-lista.agenda .cal-item{grid-template-columns:86px minmax(0,1fr) 66px;grid-template-areas:"tipo quem acoes" "tipo valor valor";row-gap:6px}
  .cal-lista.agenda .cal-tipo{grid-area:tipo}
  .cal-lista.agenda .cal-quem{grid-area:quem}
  .cal-lista.agenda .cal-valor{grid-area:valor;text-align:left}
  .cal-lista.agenda .lanc-acoes{grid-area:acoes}
}

/* ---------- Central com os números de verdade ---------- */
body.tela-central .viewbar,
body.tela-central .kpis,
body.tela-central .comparison-panel,
body.tela-central .cards-dashboard,
body.tela-central .layout{display:none!important}
body:not(.tela-central) #telaCentral{display:none}
#telaCentral{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.pnl-topo{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
.pnl-topo .lanc-head{flex:1;min-width:260px}
.pnl-periodo{display:flex;align-items:center;gap:8px}
.pnl-periodo span{font-weight:800;font-size:13.5px;min-width:118px;text-align:center}
.pnl-periodo button:not(.pnl-atualizar){border:1px solid var(--border);background:#fff;color:var(--text);border-radius:9px;width:34px;height:34px;font:800 14px/1 inherit;cursor:pointer}
.pnl-periodo button:not(.pnl-atualizar):hover{border-color:#d8cfe6;color:var(--purple)}
.pnl-atualizar{display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:9px;padding:10px 13px;font:800 12.5px/1 inherit;cursor:pointer}
.pnl-atualizar:hover{border-color:var(--purple);color:#5b21b6}

.pnl-comeco{background:#f9f5ff;border:1px solid #e0d4fb;border-radius:16px;padding:22px 24px;display:grid;gap:8px;justify-items:start}
.pnl-comeco b{font-size:17px}
.pnl-comeco span{color:var(--muted);max-width:62ch;line-height:1.55}
.pnl-comeco div{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.pnl-comeco button{border:0;background:var(--purple);color:#fff;border-radius:10px;padding:11px 15px;font:800 13px/1 inherit;cursor:pointer}
.pnl-comeco button:last-child{background:#fff;color:#5b21b6;border:1.5px solid var(--purple)}

.pnl-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.pnl-kpi{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:15px 17px;display:grid;gap:5px;border-top:3px solid var(--border)}
.pnl-kpi.roxo{border-top-color:var(--purple)}
.pnl-kpi.verde{border-top-color:#16a34a}
.pnl-kpi.vermelho{border-top-color:#dc2626}
.pnl-kpi.azul{border-top-color:#2563eb}
.pnl-kpi>span{color:var(--muted);font-size:12.5px;font-weight:600}
.pnl-kpi strong{font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pnl-kpi small{font-size:12px;color:var(--muted);font-weight:600}
.pnl-kpi small.bom{color:#15803d}
.pnl-kpi small.ruim{color:#b91c1c}
.pnl-contas{display:flex;flex-wrap:wrap;gap:8px}
.pnl-conta{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--border);border-radius:99px;padding:8px 14px;font-size:13px;font-weight:700}
.pnl-conta em{font-style:normal;color:var(--purple);font-variant-numeric:tabular-nums}
.pnl-conta.negativa em{color:#b91c1c}

.pnl-bloco{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}
.pnl-duas{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.pnl-legenda{display:flex;gap:14px;align-items:center;font-size:12.5px;color:var(--muted);font-weight:600}
/* Ano do gráfico e legenda dividem a direita do cabeçalho; em tela estreita
   descem juntos sem espremer o título. */
.met-cabeca>div:first-child{flex:1;min-width:200px}
.pnl-cabeca-dir{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.pnl-ano-escolha{display:flex;gap:7px;align-items:center;font-size:12.5px;color:var(--muted);font-weight:700}
.pnl-ano-escolha select{border:1px solid var(--border);border-radius:9px;padding:6px 10px;font:inherit;font-weight:700;color:var(--text);background:#fff}
.pnl-legenda i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pnl-legenda i.entra,.pnl-duplo i.entra{background:#16a34a}
.pnl-legenda i.sai,.pnl-duplo i.sai{background:#dc2626}

.pnl-grafico{display:flex;align-items:flex-end;gap:8px;min-height:190px;padding-top:6px;overflow-x:auto}
.pnl-col{flex:1;min-width:38px;display:flex;flex-direction:column;align-items:center;gap:7px}
.pnl-duplo{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:100%;height:158px;background:linear-gradient(to top,#f4f1f8 1px,transparent 1px) 0 0/100% 39px}
.pnl-duplo i{width:12px;border-radius:4px 4px 0 0;min-height:0}
.pnl-col span{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}
.pnl-anos{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);border-top:1px solid #f4f1f8;padding-top:12px}
.pnl-anos b{color:var(--text);margin-right:5px}
.pnl-anos em{font-style:normal;font-weight:800}
.pnl-anos em.bom{color:#15803d}
.pnl-anos em.ruim{color:#b91c1c}

.pnl-fatias{display:flex;flex-direction:column}
.pnl-fatia{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,1.2fr) 138px;gap:14px;align-items:center;padding:10px 2px;border-bottom:1px solid #f4f1f8}
.pnl-fatia:last-child{border-bottom:0}
.pnl-fatia-nome b{font-size:14px;word-break:break-word}
.pnl-trilha{height:9px;border-radius:99px;background:#eee9f5;overflow:hidden}
.pnl-trilha i{display:block;height:100%;border-radius:99px;background:var(--purple)}
.pnl-fatia-valor{text-align:right;display:grid;gap:2px}
.pnl-fatia-valor b{font-size:14.5px;font-variant-numeric:tabular-nums}
.pnl-fatia-valor small{color:var(--muted);font-size:11.5px}

.pnl-alertas{display:flex;flex-direction:column;gap:8px}
.pnl-alerta{display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px 14px;background:var(--bg);border:1px solid transparent}
.pnl-alerta[data-ir]{cursor:pointer}
.pnl-alerta[data-ir]:hover{border-color:#d8cfe6}
.pnl-alerta[data-ir]:focus-visible{outline:2px solid var(--purple);outline-offset:1px}
.pnl-alerta.ruim{background:#fff7f7;border-color:#f3d3d3}
.pnl-alerta.atencao{background:#fffaf0;border-color:#f5e3c0}
.pnl-alerta.bom{background:#f5fdf7;border-color:#cbe9d5}
.pnl-alerta i{font-style:normal;font-size:15px;flex:0 0 auto}
.pnl-alerta span{flex:1;min-width:0}
.pnl-alerta b{display:block;font-size:14px;word-break:break-word}
.pnl-alerta small{color:var(--muted);font-size:12.5px}
.pnl-alerta em{font-style:normal;font-size:12px;font-weight:800;color:var(--purple);white-space:nowrap}

.pnl-planos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pnl-plano{background:var(--bg);border-radius:13px;padding:13px 15px;display:grid;gap:6px}
.pnl-plano>span{color:var(--muted);font-size:12px;font-weight:700}
.pnl-plano b{font-size:17px;font-variant-numeric:tabular-nums}
.pnl-plano b small{color:var(--muted);font-size:12.5px;font-weight:600}
.pnl-plano>small{color:var(--muted);font-size:12px}
.pnl-orcamento{display:flex;flex-direction:column;gap:9px;border-top:1px solid #f4f1f8;padding-top:12px}
.pnl-orc{display:grid;grid-template-columns:minmax(90px,1fr) minmax(60px,1fr) 44px;gap:11px;align-items:center}
.pnl-orc b{text-align:right;font-size:13px;font-weight:800}
.pnl-orc b.bom{color:#15803d}
.pnl-orc b.atencao{color:#b45309}
.pnl-orc b.ruim{color:#dc2626}
.pnl-orc>small{grid-column:1/-1;color:var(--muted);font-size:11.5px;margin-top:-4px}
.pnl-sem-orcamento{border-top:1px solid #f4f1f8;padding-top:12px;color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.pnl-sem-orcamento button{border:1px solid var(--border);background:#fff;color:#5b21b6;border-radius:9px;padding:9px 12px;font:800 12.5px/1 inherit;cursor:pointer}

@media(max-width:1180px){
  .pnl-kpis{grid-template-columns:repeat(3,1fr)}
  .pnl-duas{grid-template-columns:1fr}
  .pnl-fatia{grid-template-columns:minmax(110px,1fr) 122px;gap:10px}
  .pnl-fatia .pnl-trilha{display:none}
}
@media(max-width:760px){
  .pnl-kpis{grid-template-columns:1fr 1fr}
  .pnl-planos{grid-template-columns:1fr}
  .pnl-periodo{width:100%}
  .pnl-atualizar{margin-left:auto}
  .pnl-col{min-width:30px}
  .pnl-duplo i{width:9px}
}

/* ---------- módulo Ajuda: o manual dentro do sistema ---------- */
body.tela-ajuda main>*:not(header):not(#telaAjuda){display:none!important}
body:not(.tela-ajuda) #telaAjuda{display:none}
#telaAjuda{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.aju-corpo{display:grid;grid-template-columns:274px 1fr;gap:18px;align-items:start}
.aju-indice{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:14px;display:flex;flex-direction:column;gap:12px;position:sticky;top:18px}
.aju-busca{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:9px 11px;color:var(--muted)}
.aju-busca input{border:0;background:none;outline:none;font:600 13.5px/1.3 inherit;color:var(--text);width:100%}
.aju-indice nav{display:flex;flex-direction:column;gap:2px;max-height:min(62vh,620px);overflow:auto}
.aju-indice nav button{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:9px;padding:9px 10px;font:700 13px/1.35 inherit;color:var(--text);cursor:pointer;text-align:left}
.aju-indice nav button i{font-style:normal;font-size:14px;flex:0 0 auto}
.aju-indice nav button:hover{background:var(--bg)}
.aju-indice nav button.ativa{background:#f1ebff;color:#5b21b6}
.aju-nada{color:var(--muted);font-size:13px;padding:6px 4px;margin:0}
.aju-rodape{border-top:1px solid #f4f1f8;padding-top:11px;display:grid;gap:4px}
.aju-rodape b{font-size:12.5px}
.aju-rodape span{color:var(--muted);font-size:12px;line-height:1.5}
.aju-rodape a{color:var(--purple);font-weight:700}

.aju-texto{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a;padding:24px 28px 22px;display:flex;flex-direction:column;gap:18px}
.aju-texto header{display:flex;gap:14px;align-items:flex-start;justify-content:flex-start;text-align:left;padding:0;background:none;border:0;margin:0}
.aju-texto header i{font-style:normal;font-size:26px;width:52px;height:52px;border-radius:14px;background:#f1ebff;display:grid;place-items:center;flex:0 0 auto}
.aju-texto h3{margin:0;font-size:23px;letter-spacing:-.02em;text-wrap:balance}
.aju-texto header p{margin:4px 0 0;color:var(--muted);font-size:14.5px;line-height:1.55;max-width:66ch}
.aju-figura{margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg)}
.aju-figura img{display:block;width:100%;height:auto}
.aju-figura figcaption{padding:10px 14px;color:var(--muted);font-size:12.5px;background:#fff;border-top:1px solid var(--border);line-height:1.5}
.aju-passos{margin:0;padding:0;list-style:none;counter-reset:passo;display:flex;flex-direction:column;gap:11px}
.aju-passos li{counter-increment:passo;display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:14.5px;line-height:1.62;max-width:78ch}
.aju-passos li>span{min-width:0}
.aju-passos li::before{content:counter(passo);background:var(--purple);color:#fff;width:24px;height:24px;border-radius:99px;display:grid;place-items:center;font:800 12px/1 inherit;margin-top:2px}
.aju-passos b{font-weight:800}
.aju-passos code,.aju-texto code{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font:600 12.5px/1.4 ui-monospace,Menlo,Consolas,monospace}
.aju-passos kbd{background:var(--text);color:#fff;border-radius:5px;padding:2px 6px;font:700 11.5px/1 inherit}
.aju-dicas{display:flex;flex-direction:column;gap:8px}
.aju-dica{display:flex;gap:11px;align-items:flex-start;background:#fffdf3;border:1px solid #f2e6bd;border-radius:12px;padding:12px 14px}
.aju-dica i{font-style:normal;flex:0 0 auto}
.aju-dica span{font-size:13.5px;line-height:1.6;color:#5c4a12}
.aju-dica b{color:#3f3308}
.aju-navega{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #f4f1f8;padding-top:16px}
.aju-navega button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:11px 14px;font:800 12.5px/1.3 inherit;cursor:pointer;max-width:46%;text-align:left}
.aju-navega button:hover{border-color:var(--purple);color:#5b21b6}
.aju-navega button.frente{text-align:right}

@media(max-width:980px){
  .aju-corpo{grid-template-columns:1fr}
  .aju-indice{position:static}
  .aju-indice nav{max-height:none}
  .aju-texto{padding:20px 18px}
  .aju-texto h3{font-size:20px}
  .aju-navega button{max-width:48%}
}

/* links dos documentos legais */
.legal-links{display:block;margin-top:9px;font-size:12px}
.legal-links a{color:#b9a9e8;text-decoration:none;font-weight:600}
.legal-links a:hover{color:#fff;text-decoration:underline}
main>footer a{color:var(--purple);text-decoration:none;font-weight:600}
main>footer a:hover{text-decoration:underline}

/* Transferências entre contas: origem, destino e quanto andou. */
.pnl-transferencias{display:grid;gap:8px;margin-top:12px}
.pnl-transf-linha{display:grid;grid-template-columns:1fr auto 1fr auto auto;gap:10px;align-items:center;
  padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:#faf9fd}
.pnl-transf-linha>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.pnl-transf-seta{color:var(--purple);font-weight:900}
.pnl-transf-linha>small{color:var(--muted);font-weight:700}
@media(max-width:640px){.pnl-transf-linha{grid-template-columns:1fr auto 1fr;gap:6px}
  .pnl-transf-linha>b,.pnl-transf-linha>small{grid-column:1/-1}}

/* ---------- versão e histórico ---------- */
.versao-link{border:0;background:none;padding:0;font:inherit;font-size:11.5px;color:#a8a1b5;text-align:left;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.versao-link:hover{color:var(--yellow)}
footer .versao-link{color:var(--muted);font-size:inherit}
footer .versao-link:hover{color:var(--purple)}
.aju-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.aju-meta button{border:1px solid var(--border);background:#fff;border-radius:99px;padding:7px 13px;font:800 12.5px/1 inherit;color:var(--text);cursor:pointer}
.aju-meta .aju-versao{background:#f1ebff;border-color:#ddd0fb;color:var(--purple)}
.aju-meta button:hover{border-color:var(--purple)}
.aju-historico{display:grid;gap:12px;margin-top:18px}
.aju-release{border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:#fff}
.aju-release.atual{border-color:#cdb8fa;box-shadow:0 0 0 3px #7c3aed14}
.aju-release header{display:flex;align-items:center;gap:8px}
.aju-release header b{font-size:15px}
.aju-release header em{font-style:normal;font-size:11px;font-weight:900;background:var(--purple);color:#fff;border-radius:99px;padding:2px 8px}
.aju-release header small{margin-left:auto;color:var(--muted);font-weight:700}
.aju-release h4{margin:8px 0 2px;font-size:14px}
.aju-release p{margin:0 0 8px;color:var(--muted)}
.aju-release ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.aju-release li{display:flex;gap:8px;align-items:baseline;line-height:1.4}
.aju-tag{flex:none;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:2px 6px}
.aju-tag.novo{background:#ecfff2;color:#15803d}
.aju-tag.melhoria{background:#f1ebff;color:var(--purple)}
.aju-tag.correcao{background:#fff5d8;color:#9a6500}

/* ---------- impressão do manual completo ---------- */
#ajuImpressao{display:none}
@media print{
  body.imprimindo-manual{display:block;background:#fff}
  body.imprimindo-manual>*:not(#ajuImpressao){display:none!important}
  body.imprimindo-manual #ajuImpressao{display:block;color:#111;font:12pt/1.45 Inter,Segoe UI,Arial,sans-serif}
  #ajuImpressao .imp-capa{page-break-after:always}
  #ajuImpressao .imp-capa h1{font-size:24pt;margin:0 0 4pt}
  #ajuImpressao .imp-capa ol{margin-top:18pt;line-height:1.9}
  #ajuImpressao .imp-secao{page-break-before:always}
  #ajuImpressao .imp-secao:first-of-type{page-break-before:auto}
  #ajuImpressao h2{font-size:17pt;margin:0 0 4pt}
  #ajuImpressao .imp-resumo{color:#555;margin:0 0 10pt}
  #ajuImpressao figure{margin:0 0 10pt}
  #ajuImpressao img{max-width:100%;max-height:9cm;border:1px solid #ddd;border-radius:6px}
  #ajuImpressao figcaption{font-size:9.5pt;color:#666}
  #ajuImpressao .aju-passos{padding-left:18pt}
  #ajuImpressao .aju-passos li{margin:0 0 5pt}
  #ajuImpressao .aju-dica{display:flex;gap:6pt;background:#fffbe8;border:1px solid #f3e3a1;border-radius:6px;padding:6pt 8pt;margin:6pt 0}
  #ajuImpressao .aju-release{border:1px solid #ddd;padding:8pt;margin:8pt 0;page-break-inside:avoid}
  #ajuImpressao .imp-rodape{margin-top:20pt;color:#666;font-size:9.5pt}
}

/* ---------- empréstimos ---------- */
body.tela-emprestimos main>*:not(header):not(#telaEmprestimos){display:none!important}
body:not(.tela-emprestimos) #telaEmprestimos{display:none}
#telaEmprestimos{display:flex;flex-direction:column;gap:18px;margin-top:22px}
#telaEmprestimos .met-resumo small{color:var(--muted);font-size:12px}
.emp-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.emp-contrato{border:1px solid var(--border);border-radius:14px;padding:15px 16px;display:flex;flex-direction:column;gap:11px;background:#fdfcff;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.emp-contrato:hover,.emp-contrato:focus-visible{border-color:#cdb8fa;box-shadow:0 0 0 3px #7c3aed14;outline:0}
.emp-contrato.encerrado{opacity:.7}
.emp-topo{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.emp-topo b{display:block;font-size:15.5px}
.emp-topo small{color:var(--muted);font-size:12.5px}
.emp-selo{font-size:12px;font-weight:900;border-radius:99px;padding:4px 10px;background:#f1ebff;color:var(--purple);white-space:nowrap;font-variant-numeric:tabular-nums}
.emp-selo.settled{background:#ecfff2;color:#15803d}
.emp-selo.cancelled{background:#f3f1f6;color:var(--muted)}
.emp-numeros{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.emp-numeros span{display:block;color:var(--muted);font-size:12px;font-weight:600}
.emp-numeros strong{font-size:15.5px;font-variant-numeric:tabular-nums}
.emp-alerta{margin:0;font-size:12.5px;font-weight:800;color:#b91c1c}
.emp-voltar{display:block;border:0;background:none;color:var(--purple);font:800 13px/1 inherit;padding:0 0 10px;cursor:pointer}
.emp-acoes-contrato{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.emp-acoes-contrato button{display:flex;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 13px;font:800 12.5px/1 inherit;cursor:pointer;color:var(--text)}
.emp-acoes-contrato button:hover{border-color:var(--purple);color:var(--purple)}
.emp-acoes-contrato button.remover:hover{border-color:var(--red);color:var(--red)}
.emp-tabela-rolo{overflow-x:auto}
.emp-tabela{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.emp-tabela th{text-align:left;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.emp-tabela td{padding:9px 10px;border-bottom:1px solid #f1eef6;vertical-align:middle;white-space:nowrap}
.emp-tabela .num{text-align:right}
.emp-tabela td small{display:block;color:var(--muted);font-size:11.5px}
.emp-tabela tr.paga td{color:#7a728a}
.emp-tabela tr.atrasada td{background:#fff7f7}
.emp-tabela .lanc-acoes{gap:6px;align-items:center}
.emp-tabela .lanc-acoes button{font:800 12px/1 inherit}
.emp-pagar{border:0!important;background:var(--purple)!important;color:#fff!important;border-radius:8px;padding:7px 11px!important}
.emp-situacao{font-weight:800;font-size:12px;border-radius:99px;padding:3px 9px;display:inline-block}
.emp-situacao.paga{background:#ecfff2;color:#15803d}
.emp-situacao.atrasada{background:#ffeef0;color:#b91c1c}
.emp-situacao.breve{background:#fff5d8;color:#9a6500}
.emp-situacao.aberta{background:#f3f1f6;color:var(--muted)}
.emp-tabela.mini{font-size:12.5px}
.emp-tabela.mini tr.reticencias td{text-align:center;color:var(--muted)}
.lanc-caixa.emp-caixa{max-width:720px}
.emp-previa{background:var(--bg);border-radius:12px;padding:14px;display:grid;gap:12px}
.emp-previa>span{color:var(--muted);font-size:13px}
.emp-previa-numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.emp-previa-numeros span{display:block;color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.emp-previa-numeros strong{font-size:16px;font-variant-numeric:tabular-nums}
.emp-previa-numeros small{display:block;color:var(--muted);font-size:11.5px}
.emp-escolha{display:grid;gap:8px}
.emp-escolha>b{font-size:13.5px}
.lanc-caixa label.emp-opcao{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--text);font-weight:600}
.lanc-caixa label.emp-opcao:has(input:checked){border-color:var(--purple);background:#faf7ff}
.emp-opcao input{accent-color:var(--purple);flex:none}
.emp-opcao span{flex:1;display:grid;gap:2px}
.emp-opcao small{color:var(--muted);font-weight:500;font-size:12.5px}
.emp-opcao strong{font-variant-numeric:tabular-nums}
.emp-dica{margin:0;color:var(--muted);font-size:12.5px;text-transform:none;letter-spacing:0;font-weight:500}
@media(max-width:700px){.emp-previa-numeros{grid-template-columns:1fr 1fr}.emp-lista{grid-template-columns:1fr}}
.lanc-caixa .campos[hidden],.lanc-caixa label[hidden]{display:none}

/* ---------- GFP individual (2.0.0) ----------
   O sistema deixou de ser familiar: saem da tela o cadastro de usuários, os
   perfis e os painéis por membro. O código e o banco continuam aceitando as
   contas antigas com mais de um usuário, que seguem entrando normalmente. */
.admin-shortcuts,.panel.members,.panel.member-usage,
.module-tabs [data-module="users"],.module-tabs [data-module="profiles"],
#module-users,#module-profiles,
.viewbar>div:first-child,
.rolebar>span,.rolebar #roleSelect,.rolebar #permissionLabel{display:none!important}

/* ---------- Empréstimos: resumo de cinco números e listagem dos contratos ---------- */
.met-resumo.cinco{grid-template-columns:repeat(5,1fr)}
.emp-tabela tfoot td{font-weight:800;border-top:2px solid var(--border);border-bottom:0;background:#faf8fd}
.emp-tabela td.bom{color:#15803d;font-weight:700}
.emp-tabela td small.ruim{color:#b91c1c;font-weight:700}
.emp-listagem tbody tr{cursor:pointer}
.emp-listagem tbody tr:hover td,.emp-listagem tbody tr:focus-visible td{background:#f9f5ff}
.emp-listagem tbody tr:focus-visible{outline:0}
.emp-listagem tr.cancelado td{color:var(--muted)}
.emp-listagem td b{display:block}
@media(max-width:1180px){.met-resumo.cinco{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.met-resumo.cinco{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.met-resumo.cinco{grid-template-columns:1fr}}

/* ---------- Lançamentos: barra de período, banco, conta e categoria ---------- */
.lanc-periodo-titulo{font-weight:700;color:var(--purple);font-size:.72em;letter-spacing:0;white-space:nowrap}
.lanc-recorte{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 14px}
.lanc-recorte label{display:grid;gap:5px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;min-width:0}
.lanc-recorte select,.lanc-recorte input{border:1px solid var(--border);border-radius:9px;padding:9px 11px;font:600 13.5px/1.2 inherit;color:var(--text);background:#fff;text-transform:none;letter-spacing:0;max-width:100%;min-width:150px}
.lanc-recorte select:focus,.lanc-recorte input:focus{outline:2px solid var(--purple);outline-offset:1px;border-color:var(--purple)}
.lanc-recorte .sep{align-self:stretch;width:1px;background:var(--border);margin:0 2px}
.lanc-recorte .aplicar{border:0;background:var(--purple);color:#fff;border-radius:9px;padding:11px 15px;font:800 13px/1 inherit;cursor:pointer}
.lanc-recorte .aplicar:hover{filter:brightness(1.08)}
.lanc-recorte-erro{flex-basis:100%;margin:0;color:#b91c1c;font-size:12.5px;font-weight:600}
.lanc-recorte-erro:empty{display:none}
@media(max-width:760px){
  .lanc-recorte label{flex:1 1 150px}
  .lanc-recorte select,.lanc-recorte input{width:100%;min-width:0}
  .lanc-recorte .sep{display:none}
}

/* ---------- Central: abas, filtro por banco e conta, painéis de receitas e despesas ---------- */
.pnl-barra{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;justify-content:space-between}
.pnl-abas{display:flex;gap:6px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:5px;flex-wrap:wrap}
.pnl-abas button{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:9px 15px;font:800 13px/1 inherit;cursor:pointer}
.pnl-abas button:hover{color:var(--purple)}
.pnl-abas button[aria-selected="true"]{background:var(--purple);color:#fff}
.pnl-recorte{border:0;padding:0;background:transparent;border-radius:0}
.pnl-recorte-aviso{background:#f9f5ff;border:1px solid #e0d4fb;border-radius:12px;padding:10px 14px;font-size:13px;color:#5b5169;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pnl-recorte-aviso b{color:var(--text)}
.pnl-recorte-aviso button{border:1px solid var(--border);background:#fff;color:#5b21b6;border-radius:8px;padding:7px 11px;font:800 12px/1 inherit;cursor:pointer;margin-left:auto}
.pnl-kpis.quatro{grid-template-columns:repeat(4,1fr)}
.pnl-grafico.uma .pnl-duplo i{width:58%;max-width:38px}
.pnl-grafico.uma .pnl-col{min-width:46px}
.pnl-col b.pnl-valor{font-size:10.5px;font-weight:800;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;min-height:13px}
.pnl-anos em.neutro{color:var(--muted)}
@media(max-width:1180px){.pnl-kpis.quatro{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .pnl-barra{align-items:stretch}
  .pnl-abas button{flex:1}
  .pnl-grafico.uma .pnl-col{min-width:40px}
}
/* sem isto o gráfico de 12 barras empurra a coluna para fora da tela no celular */
.pnl-duas>*{min-width:0}

/* ---------- Assinatura: selo da licença, faixa de aviso e tela ---------- */
body.tela-assinatura main>*:not(header):not(#telaAssinatura){display:none!important}
body:not(.tela-assinatura) #telaAssinatura{display:none}
#telaAssinatura{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.sidebar .license.clicavel{cursor:pointer}
.sidebar .license.clicavel:hover{border-color:#5b4a86}
.sidebar .license span[data-tom="ruim"]{color:#fecaca}
.sidebar .license span[data-tom="atencao"]{color:#fde68a}
.sidebar .license span[data-tom="info"]{color:#ddd6fe}
/* dois ids de propósito: a faixa precisa vencer a regra que esconde tudo fora da tela aberta */
main>#faixaLicenca#faixaLicenca{display:flex!important}
.lic-faixa{flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;border-radius:14px;padding:12px 16px;font-size:13.5px;border:1px solid var(--border);background:#fff;margin-bottom:4px}
.lic-faixa span{flex:1;min-width:220px;line-height:1.45}
.lic-faixa button{border:0;background:var(--purple);color:#fff;border-radius:9px;padding:10px 14px;font:800 12.5px/1 inherit;cursor:pointer;white-space:nowrap}
.lic-faixa.info{background:#f9f5ff;border-color:#e0d4fb}
.lic-faixa.atencao{background:#fffaf0;border-color:#f5e3c0}
.lic-faixa.ruim{background:#fff7f7;border-color:#f3d3d3}
.lic-situacao{gap:12px}
.lic-situacao p{margin:0;color:#4b4459;line-height:1.55;max-width:78ch}
.lic-situacao-topo{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.lic-situacao-topo b{font-size:15px}
.lic-selo{display:inline-block;font-size:12px;font-weight:900;border-radius:99px;padding:5px 11px;background:#f3f1f6;color:var(--muted);white-space:nowrap}
.lic-selo.bom{background:#ecfff2;color:#15803d}
.lic-selo.info{background:#f1ebff;color:#5b21b6}
.lic-selo.atencao{background:#fff4d6;color:#92600a}
.lic-selo.ruim{background:#ffe9e9;color:#b91c1c}
.lic-aguardando{background:#f9f5ff;border:1px solid #e0d4fb;border-radius:13px;padding:14px 16px;display:grid;gap:8px}
.lic-aguardando span{color:#5b5169;font-size:13.5px;line-height:1.5}
.lic-acoes{display:flex;flex-wrap:wrap;gap:9px 12px;align-items:center}
.lic-acoes button,.lic-acoes a.lic-principal{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:11px 15px;font:800 13px/1 inherit;cursor:pointer;text-decoration:none;display:inline-block}
.lic-acoes button:hover{border-color:var(--purple);color:#5b21b6}
.lic-acoes .lic-principal{background:var(--purple);border-color:var(--purple);color:#fff}
.lic-acoes .lic-principal:hover{filter:brightness(1.08);color:#fff}
.lic-acoes .lic-principal:disabled{opacity:.6;cursor:default}
.lic-acoes .lic-discreto{border-color:transparent;background:transparent;color:var(--muted);font-weight:700;text-decoration:underline}
.lic-acoes a:not(.lic-principal){color:#5b21b6;font-size:13px;font-weight:700}
.lic-nota{display:block;color:var(--muted);font-size:12.5px;line-height:1.5;max-width:82ch}
.lic-planos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lic-plano{position:relative;border:2px solid var(--border);border-radius:16px;padding:18px;display:grid;gap:6px;cursor:pointer;background:#fff}
.lic-plano.escolhido{border-color:var(--purple);background:#fbf9ff}
.lic-plano input{position:absolute;top:16px;right:16px;accent-color:var(--purple);width:18px;height:18px}
.lic-plano em{font-style:normal;font-size:11px;font-weight:900;color:#92600a;background:#fff4d6;border-radius:99px;padding:3px 9px;justify-self:start}
.lic-plano b{font-size:15px}
.lic-plano strong{font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.lic-plano strong small{font-size:13px;font-weight:600;color:var(--muted)}
.lic-plano span{color:var(--muted);font-size:13px}
.lic-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lic-campos label{display:grid;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted)}
.lic-campos input{border:1px solid var(--border);border-radius:10px;padding:11px 12px;font:600 14px/1.2 inherit;color:var(--text)}
.lic-campos input:focus{outline:2px solid var(--purple);outline-offset:1px;border-color:var(--purple)}
@media(max-width:700px){.lic-planos,.lic-campos{grid-template-columns:1fr}}
