/* PORTAL DO CLIENTE — Pessoa Jurídica (05/10/2026). Só o que a tela da PJ tem de PRÓPRIO: a capa, as
   abas, a lista, a folha e os botões são os do livro-caixa (portal.html), com os mesmos tokens de cor. */

/* No computador a competência fica numa coluna de leitura, e não espalhada na largura da página. */
.pj{max-width:760px;margin:0 auto}
.capa-saldo b.pj-capa-txt{font-size:27px;letter-spacing:-.015em}
.capa-saldo small{align-self:flex-end;padding-bottom:5px}

.pj-corpo{padding-bottom:8px}
.pj-prep{margin:8px 0 4px;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}
.pj-prep b{display:block;font-size:15.5px}
.pj-prep span{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:var(--text2)}

/* Sugestões da memória: uma faixa só, com a ação ao lado. */
.pj-sug{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;border-radius:14px;
  background:var(--surface);border:1px solid var(--border)}
.pj-sug span{flex:1;min-width:0;font-size:14px;line-height:1.4;color:var(--text2)}
.pj-sug .btn{flex:none;height:38px}

/* Como se comenta, dito por extenso acima da lista (celular). */
.pj-como{display:flex;align-items:flex-start;gap:8px;margin:0 2px 12px;padding:11px 13px;border-radius:12px;font-size:14px;line-height:1.4;
  color:var(--text);background:var(--surface);border:1px solid var(--border2)}
.pj-como .ico{width:16px;height:16px;flex:none;margin-top:2px;color:var(--accent)}

/* Uma conta: cabeçalho, avisos da conferência, arquivos e os movimentos. */
.pj-conta{margin-bottom:18px}
.pj-conta-h{display:flex;align-items:flex-end;gap:12px;padding:4px 4px 10px}
.pj-conta-t{flex:1;min-width:0}
.pj-conta-t b{display:block;font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-conta-t span{display:block;font-size:13px;color:var(--text3)}
.pj-conta-v{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.pj-conta-v .pos,.lin-v.pos,.pj-pos{color:var(--green)}
.pj-conta-v .neg{color:var(--text2)}
.pj-aviso{margin-bottom:8px;padding:10px 12px;border-radius:12px;font-size:13.5px;line-height:1.45;
  color:var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 35%,var(--surface))}
.pj-arqs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.pj-arq{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px 0 10px;border-radius:99px;
  background:var(--surface);border:1px solid var(--border2);color:var(--text2);font-size:13px;font-variant-numeric:tabular-nums}
.pj-arq .ico{width:14px;height:14px;color:var(--accent)}
.pj-arq:active{background:var(--surface2)}
.pj-nota{margin:0 4px 10px;font-size:13px;line-height:1.45;color:var(--text3)}
.pj-nota.dentro{margin:0;padding:18px 16px}

/* O estado do movimento, na linha: comentado, reconhecido sozinho, com sugestão ou em falta. */
.pj-st{overflow:hidden;text-overflow:ellipsis}
.pj-st.falta{color:var(--warn);font-weight:600}
.pj-st.sug{color:var(--accent)}
.pj .lin-s{min-width:0}
.pj .lin-s > span:first-child{flex:none}

/* A folha do movimento e a do envio. */
.pj-neg{color:var(--text)}
.pj-dica{margin:14px 0 4px;font-size:13.5px;line-height:1.5;color:var(--text2)}
.pj-dica.sug{padding:10px 12px;border-radius:12px;background:var(--surface2);color:var(--text2)}
.folha .fld{margin-top:16px}
.pj-natdica{display:block;min-height:18px;margin-top:5px;font-size:12.5px;color:var(--text3)}
textarea.pj-ta{display:block;min-height:84px;resize:vertical;font-family:inherit;font-size:16px;line-height:1.4}
.pj-chk{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:14px;color:var(--text2)}
.pj-chk input{width:20px;height:20px;flex:none;accent-color:var(--accent)}
.pj-fmt{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;margin-top:10px;padding:12px 12px 12px 14px;text-align:left;
  border-radius:14px;background:var(--surface);border:1px solid var(--border2);color:var(--text)}
.pj-fmt:active{background:var(--surface2)}
.pj-fmt > .ico:first-of-type{width:22px;height:22px;flex:none;color:var(--accent)}
.pj-fmt > .ico:last-of-type{width:16px;height:16px;flex:none;color:var(--border2)}
.pj-fmt-t{flex:1;min-width:0}
.pj-fmt-t b{display:block;font-size:15.5px}
.pj-fmt-t span{display:block;margin-top:2px;font-size:13px;line-height:1.4;color:var(--text3)}

/* O botão de escolher arquivo É o campo de arquivo do aparelho (botaoArquivo, em portal-pj.js): um <label>
   com a cara do botão e o <input type="file"> por cima, invisível, do tamanho do botão — o dedo toca o
   próprio campo. Nada de display:none nem de campo criado na hora: foi assim que o seletor do iPhone
   fechava sozinho no app instalado. A letra de 16 px é para o iPhone não aproximar a tela ao tocar. */
.pj-arqbt{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;cursor:pointer;
  -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.pj-arqbt.pj-fmt{justify-content:flex-start;gap:12px}
.pj-arqin{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:16px}
.pj-arqin::file-selector-button{cursor:pointer}
.pj-arqbt:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.pj-arqbt.ocupado{opacity:.5;cursor:default}
.pj-arqbt.ocupado .pj-arqin{pointer-events:none}

/* ── Computador (acima de 760 px): a competência em página inteira, com o extrato em tabela e a
   natureza e o comentário editáveis na própria linha. A barra do mês, os totais, os blocos, a faixa de
   envio e o histórico são os do livro-caixa (.mesbar, .totais, .bloco-l, .envbar, .hist). ── */
.pj-acoes{display:flex;gap:8px;margin-left:auto}
.pj-mesa .tot b.pj-warn{color:var(--warn)}
/* O extrato bancário como terceiro bloco do mês do livro-caixa (Profissional Liberal, 15/10/2026). */
.pf-ext .cab .n.pj-warn{color:var(--warn)}
.pj-mesa .pj-prep,.pj-mesa .pj-sug{margin:0 0 22px}
.pj-bl .cab .pj-cab-v{display:flex;gap:14px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text2)}
.pj-bl .cab .pj-cab-v .pos{color:var(--green)}
.pj-bl-topo{padding:12px 16px 2px;border-bottom:1px solid var(--border)}
.pj-bl-topo .pj-arq{max-width:100%}
.pj-bl-topo .pj-arq span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-nota.pad{margin:0;padding:12px 16px;border-bottom:1px solid var(--border)}

table.pj-tab{width:100%;border-collapse:collapse;table-layout:fixed}
.pj-tab col.c-d{width:74px} .pj-tab col.c-v{width:132px} .pj-tab col.c-n{width:262px} .pj-tab col.c-c{width:30%} .pj-tab col.c-a{width:148px}
.pj-tab th{padding:9px 10px;text-align:left;font-size:11.5px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.3px;
  background:var(--surface2);border-bottom:1px solid var(--border);white-space:nowrap}
.pj-tab th:first-child,.pj-tab td:first-child{padding-left:16px}
.pj-tab th:last-child,.pj-tab td:last-child{padding-right:16px}
.pj-tab th.c-v,.pj-tab td.c-v{text-align:right}
.pj-tab td{padding:7px 10px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}
.pj-tab tbody tr:last-child td{border-bottom:none}
.pj-tab td.c-d{color:var(--text2);font-variant-numeric:tabular-nums;white-space:nowrap}
.pj-tab td.c-h{line-height:1.3;overflow-wrap:anywhere}
.pj-tab td.c-h small{display:block;margin-top:2px;font-size:12px;color:var(--text3)}
.pj-tab td.c-v{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.pj-tab td.c-v.pos{color:var(--green)}
.pj-tab .inp{padding:8px 10px;font-size:14px;border-radius:8px}
.pj-tab select.inp{padding-right:4px;text-overflow:ellipsis}
.pj-tab td.c-a{text-align:right;white-space:nowrap}
.pj-tab td.c-a > *{vertical-align:middle}
/* O estado da linha: em falta (faixa à esquerda), com sugestão ainda não aceita (tracejado), gravando, erro. */
.pj-tab tr.falta td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.pj-tab tr.falta td.c-n,.pj-tab tr.falta td.c-c{color:var(--warn);font-weight:600}
.pj-tab tr.sug td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.pj-tab tr.sug .inp{border-style:dashed;border-color:var(--accent);color:var(--accent);background:var(--surface)}
.pj-tab tr.auto .inp{color:var(--text2)}
.pj-tab tr.gravando{opacity:.6}
.pj-tab tr.erro .inp{border-color:var(--red)}
.pj-mk{margin-right:8px;font-size:12px;font-weight:600;color:var(--accent)}
.pj-mk.ok{color:var(--green)}
.pj-tab tr:not(.sug) .pj-ac{display:none}
.pj-ac{margin-right:6px}
.pj-clip{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:38px;height:34px;padding:0 9px;
  background:none;border:1px solid var(--border2);border-radius:8px;color:var(--text2);font-size:13px;font-weight:700}
.pj-clip .ico{width:15px;height:15px}
.pj-clip span:empty{display:none}
.pj-tab-doc{table-layout:auto}
.pj-tab-doc tr.clic{cursor:pointer}
.pj-tab-doc tr.clic:hover td{background:var(--surface2)}
.pj-tab-doc td.c-t{white-space:nowrap;color:var(--text2)}
.pj-tab-doc td.c-o{color:var(--text2);overflow-wrap:anywhere}
.pj-tab-doc td.c-a .ico{width:16px;height:16px;color:var(--border2)}
.pj-mesa .hist .h.pj-atual .m{color:var(--accent)}
@media (hover:hover){ .pj-clip:hover{border-color:var(--accent);color:var(--accent)} }
/* Tela de toque larga (tablet): campo com letra menor que 16 px faz o iPad dar zoom ao tocar. */
@media (pointer:coarse){ .pj-tab .inp{font-size:16px} }

/* ═══ Lançamentos e o novo desenho do computador (Maply 2.102.0, 27/10/2026) ═══════════════════════════
   Valores e datas que se alinham ou mudam vão em --font-data; o resto em --font-ui (regra do projeto). */

/* ── Computador: o alto PARADO (navegação, totais, botões) e o conteúdo da parte escolhida embaixo. A
   distância do topo é a altura da barra do topo, medida no script (desenharMesa). ── */
.pj-fixo{position:sticky;top:0;z-index:6;margin:-22px -20px 0;padding:22px 20px 0;background:var(--page);border-bottom:1px solid var(--border)}
.pj-fixo .mesbar{margin-bottom:12px}
.pj-fixo .pj-acoes{margin-left:auto}
.pj-fixo .pj-acoes:empty{display:none}
.pj-fixo .pj-acoes:empty + .pj-envc{margin-left:auto}
.mesbar .nav .pj-rot{display:flex;flex:none;align-items:center;justify-content:center;gap:6px;min-width:210px;height:44px;padding:0 12px;background:none;border:none;white-space:nowrap;
  font-family:var(--font-ui);font-size:16px;font-weight:800;color:var(--text)}
.mesbar .nav .pj-rot .ico{width:14px;height:14px;color:var(--text3)}
@media (hover:hover){ .mesbar .nav .pj-rot:hover{background:var(--surface2)} }
.pj-tt{margin-bottom:12px}
.pj-tt .tot{padding:9px 14px}
.pj-tt .tot b{font-size:17px}
.pj-tt .tot b.pj-warn{color:var(--warn)}
.pj-tt .tot small{display:block;margin-top:1px;font-family:var(--font-data);font-size:12px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.totais.quatro{grid-template-columns:repeat(4,1fr)}
.pj-envnota{margin:-2px 0 12px;font-size:13.5px;color:var(--text2)}
.pj-abas{display:flex;gap:4px;width:max-content;max-width:100%;margin-bottom:12px;padding:4px;border-radius:12px;background:var(--surface3)}
.pj-aba{display:flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:none;border-radius:9px;background:none;color:var(--text2);font-size:14px;font-weight:700}
.pj-aba .qt{min-width:22px;padding:1px 7px;border-radius:99px;background:var(--border);color:var(--text2);font-size:12px;font-weight:700;font-family:var(--font-data)}
.pj-aba[aria-selected="true"]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(28,26,23,.14)}
.pj-aba[aria-selected="true"] .qt{background:var(--accent);color:var(--on-accent)}
.pj-aba .qt.warn{background:var(--warn);color:#fff}
/* Maply 2.168.0: o botão de adicionar da aba aberta, logo abaixo dela (portal-pj.js, pintarAcoes). Sem botão, a linha some. */
.pj-sob{display:flex;gap:8px;margin:-4px 0 12px}
.pj-sob:empty{display:none}
@media (hover:hover){ .pj-aba:not([aria-selected="true"]):hover{color:var(--text)} }
.pj-cont{padding-top:18px}

/* ── A tabela de lançamentos: uma planilha. Os campos só mostram borda ao passar o mouse e no foco; a linha
   em branco do fim fica com o fundo da página e os campos à vista. ── */
/* Data com o ano e o botão do calendário; à direita do Valor, a coluna do botão de excluir (Renato, 28/10/2026) */
.pj-lt col.l-d{width:152px} .pj-lt col.l-v{width:176px} .pj-lt col.l-x{width:44px}
.pj-lt td{padding:3px 6px}
.pj-lt th:first-child,.pj-lt td:first-child{padding-left:12px}
.pj-lt th:last-child,.pj-lt td:last-child{padding-right:12px}
.pj-lt .pj-li{width:100%;height:36px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:transparent;font-size:14px;color:var(--text)}
@media (hover:hover){ .pj-lt tbody tr:hover .pj-li{border-color:var(--border)} }
.pj-lt .pj-li:focus{border-color:var(--accent);background:var(--surface)}
.pj-lt td.l-d,.pj-lt td.l-d .pj-li,.pj-lt td.l-v,.pj-lt td.l-v .pj-li{font-family:var(--font-data);font-size:13.5px}
.pj-lt td.l-v .pj-li{text-align:right}
.pj-lt tr.pj-fant td{background:var(--surface2)}
.pj-lt tr.pj-fant .pj-li{border-color:var(--border);background:var(--surface)}
.pj-lt tr.pj-fant .pj-li:focus{border-color:var(--accent)}
.pj-lt .pj-li.ruim,.pj-lt .pj-li.ruim:focus{border-color:var(--red)}
.pj-lt tr.gravando{opacity:.6}
.pj-lt tr.rep td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.pj-lerr{display:block;padding:2px 8px 3px;font-size:12px;line-height:1.35;color:var(--red)}
.pj-lerr:empty{display:none}
.pj-lrep{display:block;padding:2px 8px 3px;font-size:12px;font-weight:600;line-height:1.35;color:var(--warn)}
.pj-lt td.l-h > .pj-lrep:first-child{padding-left:0}
/* A lixeira, sempre à vista, na coluna à direita do Valor; o ✓ de "salvo" aparece no lugar dela por um instante.
   O Valor guarda os 12 px da direita, para o número continuar alinhado com o título e o total. */
.pj-lt td.l-v{padding-right:12px}
.pj-lt td.l-x,.pj-lt th.l-x{padding-left:0}
.pj-lt .pj-xw{position:relative;width:32px;height:32px}
.pj-lt .pj-xw .pj-mk{position:absolute;inset:0;display:none;margin:0}
.pj-lt .pj-xw .pj-mk.ok{display:flex;align-items:center;justify-content:center;color:var(--green)}
.pj-lt .pj-xw .pj-mk .ico{width:17px;height:17px}
.pj-lt .pj-xw.salvo .pj-lx{display:none}
.pj-lx{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;vertical-align:middle;border:1px solid var(--border2);border-radius:8px;
  background:var(--surface);color:var(--text2);cursor:pointer;user-select:none;outline:none}
.pj-lx .ico{width:16px;height:16px}
@media (hover:hover){ .pj-lx:hover{border-color:var(--red);color:var(--red)} }
.pj-lt tfoot td{padding:11px 6px;border-top:2px solid var(--border);border-bottom:none;font-size:14px;font-weight:800;background:var(--surface)}
.pj-lt tfoot td.l-t{font-family:var(--font-data);text-align:right;padding-right:21px}
.pj-lt th.c-v,.pj-lt td.l-v.txt{padding-right:21px}   /* título, total e o valor só de leitura alinhados com o número do campo */
.pj-lt td.vazio{padding:18px 16px}

/* O botão do calendário, dentro do campo Data, e o calendário: só o mês da competência, preso à tela como a lista. */
.pj-dt{position:relative}
.pj-lt td.l-d .pj-dt .pj-li{padding-right:34px}
.pj-calb{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  padding:0;border:none;border-radius:6px;background:none;color:var(--text3);cursor:pointer;user-select:none;outline:none}
.pj-calb .ico{width:16px;height:16px}
@media (hover:hover){ .pj-calb:hover{color:var(--accent);background:var(--surface2)} }
.pj-cal{position:fixed;z-index:62;display:none;width:260px;padding:10px 10px 8px;background:var(--surface);border:1px solid var(--border2);border-radius:12px;
  box-shadow:0 18px 40px -16px rgba(28,26,23,.38)}
.pj-cal.on{display:block}
.pj-cal-t{padding:2px 4px 8px;font-size:14px;font-weight:700;color:var(--text)}
.pj-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.pj-cal-s{padding:4px 0;text-align:center;font-size:11px;font-weight:800;color:var(--text3)}
.pj-cal-d{height:32px;padding:0;border:none;border-radius:8px;background:none;font-family:var(--font-data);font-size:13px;color:var(--text);cursor:pointer;
  outline:none;user-select:none}
@media (hover:hover){ .pj-cal-d:hover{background:var(--surface2)} }
.pj-cal-d.hoje{font-weight:800;color:var(--accent)}
.pj-cal-d.on{box-shadow:inset 0 0 0 2px var(--accent)}
.pj-cal-d.sel{background:var(--accent);color:var(--on-accent)}

/* A lista de históricos debaixo do campo (computador): presa à tela, acima de tudo, inclusive das janelas. */
.pj-dd{position:fixed;z-index:62;display:none;overflow-y:auto;padding:4px 0;background:var(--surface);border:1px solid var(--border2);border-radius:12px;
  box-shadow:0 18px 40px -16px rgba(28,26,23,.38)}
.pj-dd.on{display:block}
.pj-dd-t{padding:9px 14px 4px;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--text3)}
.pj-dd-op{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 14px;font-size:14px;line-height:1.3;color:var(--text);cursor:pointer}
.pj-dd-op.on{background:var(--surface2);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.pj-dd-inc{margin-top:4px;border-top:1px solid var(--border);color:var(--accent);font-weight:700}
.pj-dd-inc.so{margin-top:0;border-top:none}
.pj-dd-inc .ico{width:15px;height:15px}
.pj-dd-n{padding:8px 14px;font-size:12.5px;color:var(--text3)}

/* Desfazer: aviso com o botão, embaixo; no celular, acima do botão de lançar. */
.pj-desf{position:fixed;left:50%;bottom:24px;z-index:95;display:flex;align-items:center;gap:12px;max-width:min(560px,92vw);padding:8px 8px 8px 16px;
  border-radius:12px;background:var(--text);color:var(--surface);font-size:14px;box-shadow:0 14px 30px -12px rgba(28,26,23,.55);
  opacity:0;pointer-events:none;transform:translate(-50%,14px);transition:opacity .18s,transform .18s}
.pj-desf.on{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.pj-desf span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-desf-b{flex:none;height:40px;padding:0 14px;border:none;border-radius:9px;background:none;color:var(--on-accent);font-size:14px;font-weight:800;text-decoration:underline}

/* Trazer do mês anterior: a lista para marcar (computador e celular). */
.pj-tz{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 2px;border-bottom:1px solid var(--border);cursor:pointer;
  -webkit-user-select:none;user-select:none}
.pj-tz input{width:20px;height:20px;flex:none;accent-color:var(--accent)}
.pj-tz-t{flex:1;min-width:0}
.pj-tz-t b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;font-weight:600;line-height:1.3}
.pj-tz-t small{display:block;margin-top:1px;font-size:12.5px;color:var(--text3)}
.pj-tz-d{font-family:var(--font-data)}
.pj-tz-v{flex:none;font-family:var(--font-data);font-size:14px;font-weight:700;white-space:nowrap}
.pj-tz-todos{margin-top:6px;border-bottom:2px solid var(--border);font-weight:700}
.pj-tz-l .pj-tz:last-child{border-bottom:none}

/* ── Celular ── */
/* Três abas (Extratos, Lançamentos, Documentos): letra um ponto menor; no telefone de 320 px, sem a contagem. */
.abas.tres{grid-template-columns:repeat(3,1fr)}
.abas.tres .aba{gap:5px;padding:0 4px;font-size:13.5px}
.abas.tres .aba .qt{min-width:20px;padding:1px 6px;font-size:11.5px}
@media (max-width:359px){ .abas.tres .aba .qt{display:none} }
.capa-par.tres{grid-template-columns:repeat(3,1fr);gap:10px}
.mes-n.quatro{grid-template-columns:repeat(4,1fr)}

/* A lista de lançamentos: um cartão por dia, com o dia e o subtotal presos no alto enquanto rola. */
.pj-lc-topo{display:flex;justify-content:flex-end;margin:0 2px 4px}
.pj-lc-tz{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:99px;border:1px solid var(--border2);
  background:var(--surface);color:var(--text2);font-size:14px;font-weight:600}
.pj-lc-tz .ico{width:15px;height:15px;color:var(--accent)}
.pj-lc-tz:active{background:var(--surface2)}
.pj-lc-dia{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 6px 6px;
  background:var(--page);font-size:13px;font-weight:700;color:var(--text2);text-transform:capitalize}
.pj-lc-sub{font-family:var(--font-data);font-weight:600;color:var(--text3);text-transform:none}
.pj-lc .lista{margin-bottom:4px}
.pj-lc-l{min-height:58px}
.pj-lc-l .lin-t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pj-lc-v,.fic-v.pj-num{font-family:var(--font-data)}

/* A folha do lançamento: Histórico → Valor → Dia. */
.folha .pj-lc-f{margin-top:14px;margin-bottom:0}
.pj-hbt{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 12px 10px 16px;text-align:left;border:1px solid var(--border2);
  border-radius:14px;background:var(--surface);color:var(--text);font-size:16.5px;font-weight:600}
.pj-hbt-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-hbt.vazio .pj-hbt-t{font-weight:500;color:var(--text3)}
/* O histórico em MAIÚSCULAS, como os do Domínio (28/10/2026): o campo, a busca do celular e o histórico escolhido. */
.pj-mai,.pj-hbt:not(.vazio) .pj-hbt-t{text-transform:uppercase}
.pj-mai::placeholder{text-transform:none}
.pj-hbt .ico{width:16px;height:16px;color:var(--border2)}
.pj-hbt.ruim{border-color:var(--red)}
.pj-hbt:active{background:var(--surface2)}
.pj-vg{display:flex;align-items:center;gap:8px;height:64px;padding:0 16px;border:1px solid var(--border2);border-radius:14px;background:var(--surface)}
.pj-vg:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}
.pj-vg.ruim{border-color:var(--red)}
.pj-vg > span{font-size:20px;font-weight:600;color:var(--text3)}
.folha .pj-vg input.inp{flex:1;min-width:0;height:60px;padding:0;border:none;border-radius:0;background:none;box-shadow:none;
  font-family:var(--font-data);font-size:30px;font-weight:700;letter-spacing:-.02em}
.pj-dias{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;touch-action:pan-x;
  margin:0 -20px;padding:2px 20px 6px;scrollbar-width:none}
.pj-dias::-webkit-scrollbar{display:none}
.pj-dia{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:52px;height:62px;border:1px solid var(--border);
  border-radius:12px;background:var(--surface);color:var(--text);scroll-snap-align:center}
.pj-dia small{font-size:11.5px;color:var(--text3)}
.pj-dia b{font-family:var(--font-data);font-size:19px;font-weight:700}
.pj-dia.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pj-dia.on small{color:inherit;opacity:.82}
.pj-pe2{display:flex;flex-direction:column;gap:8px;flex:1}
.folha .pe .pj-pe2 .btn{flex:none;width:100%}

/* A busca do histórico em tela cheia: acima da folha, com o teclado aberto. */
.pj-busca{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;display:none;flex-direction:column;background:var(--surface);
  padding-top:env(safe-area-inset-top)}
.pj-busca.on{display:flex}
.pj-busca-h{flex:none;display:flex;align-items:center;gap:6px;padding:8px 12px 8px 6px;border-bottom:1px solid var(--border)}
.pj-busca-x{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:12px;background:none;color:var(--text)}
.pj-busca-x .ico{width:22px;height:22px}
.pj-busca-c{position:relative;flex:1;min-width:0;display:flex}
.pj-busca-i.inp{flex:1;min-width:0;height:46px;padding:0 46px 0 14px;border-radius:12px;font-size:16px}
.pj-busca-i::-webkit-search-cancel-button,.pj-busca-i::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.pj-busca-lx{position:absolute;top:1px;right:1px;display:none;align-items:center;justify-content:center;width:44px;height:44px;border:none;
  border-radius:11px;background:none;color:var(--text3)}
.pj-busca.com-texto .pj-busca-lx{display:flex}
.pj-busca-lx .ico{width:18px;height:18px}
.pj-busca-l{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(16px + var(--gestos))}
.pj-busca-t{padding:16px 18px 6px;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--text3)}
.pj-bo{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 18px;text-align:left;border:none;border-bottom:1px solid var(--border);
  background:none;color:var(--text);font-size:16px;line-height:1.3}
.pj-bo:active{background:var(--surface2)}
.pj-binc{color:var(--accent);font-weight:700}
.pj-binc .ico{width:18px;height:18px}
.pj-binc.so{margin:14px 16px;width:calc(100% - 32px);justify-content:center;border:1px dashed var(--accent);border-radius:14px}
.pj-busca-n{padding:22px 18px;font-size:14.5px;color:var(--text3)}

@media (max-width:760px){
  .pj-desf{bottom:calc(84px + var(--gestos))}
  html:has(.cel.sem-barra) .pj-desf{bottom:calc(16px + var(--gestos))}
}
/* Com a busca de histórico em tela cheia aberta, o aviso ("Lançado: …") vai para o PÉ da tela: no alto ele cobria o
   campo, e logo abaixo dele, o "Incluir histórico" — justo o que a pessoa usa depois de "Salvar e lançar outro". Na
   busca o pé está livre (não há botão de lançar nem rodapé de folha). Navegador sem :has fica como antes. */
body:has(.pj-busca.on) .toast{top:auto;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%,10px)}
body:has(.pj-busca.on) .toast.on{transform:translate(-50%,0)}
