/* Painel Nardenn Porto · complementos do sistema real.
   O visual vem do protótipo aprovado (prototipo.css, gerado). Aqui ficam só peças que o protótipo
   não desenhou porque não existiam nele: mensagens de erro, carregamento, QR Code do autenticador
   e links das lojas. Mesmas cores e medidas do protótipo. */

[hidden] { display: none !important; }
.sem-js { padding: 24px; }

/* Carregando, enquanto a sessão é conferida */
.carregando { min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.giro { width: 28px; height: 28px; border: 2px solid var(--borda); border-top-color: var(--tinta); border-radius: 50%; animation: giro .9s linear infinite; }
@keyframes giro { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .giro { animation: none; } }

/* Logo oficial ausente: nome do escritório em texto */
.marca-texto { display: inline-flex; flex-direction: column; line-height: 1.05; letter-spacing: .12em; text-transform: uppercase; color: #F2EDE6; }
.marca-texto b { font-size: 22px; font-weight: 500; }
.marca-texto small { margin-top: 8px; font-size: 10px; letter-spacing: .3em; }
.lateral .marca-texto { margin: 4px auto 6px; }

/* Mensagem de erro (mesma família do aviso do protótipo) */
.erro { margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 14px; line-height: 1.5; color: #8A3B2C; background: #FBF1EE; border: 1px solid #F0D5CD; }
.perm-erro { flex: 1 1 100%; }
.janela-erro { margin: 0 24px 14px; }

/* Etapa 2 da entrada: mesmo cartão do protótipo */
.cartao-largo { max-width: 600px; }
.form { display: flex; flex-direction: column; gap: 16px; }
.campo input.codigo { font-size: 22px; font-weight: 600; letter-spacing: .35em; font-variant-numeric: tabular-nums; }
.passos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.passos li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; font-size: 14px; line-height: 1.55; color: var(--suave); }
.passos b { color: var(--texto); }
.passo-n { width: 30px; height: 30px; border-radius: 10px; background: var(--fundo); border: 1px solid var(--borda); color: var(--texto); font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.lojas { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.loja { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--borda2); border-radius: 12px; background: #FBFAF8; }
.loja span { flex: 1 1 160px; font-size: 13px; font-weight: 700; color: var(--texto); }
.loja .btn-p { height: 36px; font-size: 13px; }
.qr-bloco { display: grid; grid-template-columns: 168px 1fr; gap: 18px; align-items: center; margin-top: 12px; padding: 16px; border: 1px solid var(--borda); border-radius: 16px; background: #fff; }
.qr { width: 168px; height: 168px; image-rendering: pixelated; border-radius: 8px; }
.qr-alt p { margin: 0 0 8px; font-size: 13px; }
.link-forte { font-weight: 700; color: var(--texto); text-underline-offset: 3px; }
.segredo { display: block; padding: 10px 12px; border-radius: 10px; background: var(--fundo); font-family: var(--mono); font-size: 13px; letter-spacing: .06em; color: var(--texto); word-break: break-all; }

/* Equipe e acessos: linha clicável, ações da conta e aviso do Administrador Geral */
#lista-pessoas tr { cursor: pointer; }
#lista-pessoas tr.selecionada td { background: #FBF8F3; }
.perm-admin { margin: 0; padding: 0 22px 18px; font-size: 14px; color: var(--suave); }
.conta-acoes { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 22px 14px; }
.btn-perigo { color: #8A3B2C; }
.janela-texto { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--suave); }
.dj-in .linha { display: flex; gap: 8px; }
.dj-in .linha input { flex: 1; }
.dj-in small { font-size: 12px; color: var(--fraco); }

@media (max-width: 900px) {
  .qr-bloco { grid-template-columns: 1fr; justify-items: center; text-align: center; }
}

/* Painel do perfil: marca "em construção" */
.pp-construcao { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fraco); }
.pp-atv li.vazio { color: var(--fraco); }

/* Sino e Segurança: listas vazias (o protótipo sempre mostrava exemplos) */
.av-vazio { margin: 0; padding: 22px 16px; font-size: 13px; line-height: 1.55; color: var(--suave); }
td.seg-vazio { padding: 22px 16px; font-size: 13.5px; color: var(--suave); }
.fila li.seg-vazio { display: block; padding: 16px 22px; font-size: 13.5px; color: var(--suave); }

/* Clientes (Etapa 3.1): campo de escolha no mesmo visual dos campos do protótipo, ações do quadro "Dados" lado a lado. */
.dj-in select { width: 100%; font: inherit; font-size: 13.5px; color: var(--texto); background: #FBFAF8; border: 1px solid #DCD5CC; border-radius: 10px; padding: 9px 12px; }
.dj-in select:focus { outline: none; border-color: var(--tinta); background: #fff; }
.cf-acoes { display: inline-flex; gap: 8px; align-items: center; }
.migalha a { color: inherit; text-decoration: none; }
.migalha a:hover { text-decoration: underline; }
select.cl-sel { appearance: auto; cursor: pointer; font: inherit; }

/* Família e datas (Etapa 3.3): prévia do cartão e grade de modelos. */
.fam-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 0 42px; }
#fam-previa > .link-p, #fam-previa > .btn { align-self: flex-start; }
.fam-img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--borda); }
#fam-previa { display: flex; flex-direction: column; gap: 10px; }
.fam-modelos { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 8px; }
.fam-modelos button { position: relative; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: none; cursor: pointer; aspect-ratio: 1; }
.fam-modelos button.on { border-color: var(--tinta); }
.fam-modelos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fam-modelos small { position: absolute; left: 4px; bottom: 4px; padding: 0 5px; border-radius: 6px; background: rgba(28, 26, 25, .78); color: #fff; font-size: 10.5px; font-weight: 600; }

/* Processos (Etapa 4.1): sugestões de cliente no cadastro, conferência do número e arquivar. */
.proc-sugestoes { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.proc-sug { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.proc-sug:hover { border-color: var(--tinta); }
.pr-auto.pr-auto-erro { border-color: var(--verm-b); background: var(--verm-f); }
.pr-auto.pr-auto-erro b { color: var(--verm); }
.pr-situacao { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--borda); }
#pf-recursos li { align-items: center; }

/* Linha do tempo do processo (Etapa 4.2): filtros como botões e aviso da consulta ao tribunal. */
button.pr-filt{background:none;font:inherit;font-size:12.5px;cursor:pointer}
button.pr-filt.on{background:var(--tinta)}
.pr-dj-aviso{margin:14px 0 4px;padding:10px 12px;border-radius:10px;background:#FBF3E4;color:#7A5418;font-size:13px;line-height:1.5}
.pr-dj-aviso.ok{background:none;padding:0;color:var(--suave);font-size:12.5px}
#pf-tempo .pr-tempo-l{margin-top:14px}

/* Publicações DJEN (Etapa 4.3): 5 leituras por dia (decisão do proprietário), falhas em vermelho e íntegra em parágrafos. */
#djen-hoje{grid-template-columns:repeat(5,minmax(100px,1fr))}
#djen-horas{grid-template-columns:repeat(5,1fr)}
.dj-l.falha{background:var(--verm-f);border-color:var(--verm-b)}
.dj-l.falha span{color:var(--verm);font-weight:500}
.ao-vivo.falha{background:var(--verm-f);border-color:var(--verm-b);color:var(--verm)}
.ao-vivo.falha .vivo{background:var(--verm)}
#djen-lista .dj-it{width:100%;text-align:left;font:inherit;cursor:pointer}
.dj-integra p{white-space:pre-line}
.dj-det-vazio{padding:32px 8px;text-align:center;color:var(--suave);font-size:13px}
.dj-it .dj-prazo.suave{color:var(--suave)}
@media screen and (max-width:900px){#djen-hoje{grid-template-columns:repeat(2,minmax(100px,1fr))}#djen-horas{grid-template-columns:repeat(3,1fr)}}

/* Radar de clientes no DJEN (ADR-0020). */
.rd-acoes{text-align:right;white-space:nowrap;width:1%}
.rd-acoes .link-p{display:block;margin:0 0 6px auto}
.rd-acoes .link-p:last-child{margin-bottom:0}
.rd-etica{margin-top:12px}
#cli-radar svg,#djen-radar svg{margin-right:6px}

/* Prazos (Etapa 4.4): cores de urgência como no protótipo, sem estilo em linha (CSP). */
.pz-sem.v{background:var(--verm)}.pz-sem.a{background:var(--ambar)}.pz-sem.t{background:var(--suave)}
.pzc-v{color:var(--verm)}.pzc-a{color:var(--ambar)}.pzc-t{color:var(--texto)}
.pz-carga .dj-prog-t i{background:var(--verde)}.pz-carga .dj-prog-t i.alta{background:var(--verm)}
a.pz-ev{text-decoration:none;display:block}
.pz-p-l a{flex:1;min-width:0;color:var(--texto);text-decoration:none}.pz-p-l a:hover{text-decoration:underline}
#pd-pendente{flex-wrap:wrap}
#pd-etapa-seg{margin-top:4px}
button.dj-x{background:#fff;cursor:pointer;font:inherit}
#pz-novo-calc:empty{display:none}
/* Prazos legais (ADR-0022) */
.pl-cab p{margin-left:0}
.pl-alt{border-color:#E9B8A6}
.pl-comp{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 20px 14px}
@media (max-width:860px){.pl-comp{grid-template-columns:1fr}}
.pl-comp small{display:block;color:var(--suave);font-size:12px;margin-bottom:6px}
.pl-texto{margin:0;padding:10px 12px;border-radius:9px;font-size:13px;line-height:1.55;max-height:260px;overflow:auto;white-space:pre-wrap}
.pl-antes{background:#F6F4EF}
.pl-agora{background:#FBEFE9}
.pl-acoes{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 18px;align-items:center}
.pl-acoes span{font-size:12.5px;color:var(--suave)}
.pl-pal{font-size:12px;color:var(--suave);min-width:190px}
#pl-lista td:first-child{min-width:110px}
.pl-ato .chip{margin-left:6px}
.pl-erro{display:block;font-size:12px;color:var(--verm);margin-top:3px}
.pl-acao{text-align:right;white-space:nowrap}
.pl-acao .link-p+.link-p{margin-left:10px}
.dj-ref{font-size:12px;color:var(--suave)}
/* Tarefas (Etapa 4.5, ADR-0023) */
.tf-q-v{color:var(--verm)}
.tf-q-a{color:var(--ambar)}
.tf-q-ok{color:var(--verde)}
.tf-oc-ok{background:var(--verde)!important}
.tf-oc-alta{background:var(--verm)!important}
.tf-vazio{color:var(--suave);font-size:13px}
.tf-busca{margin:0;flex:0 1 300px;height:40px}
.tf-busca input{border:0;outline:0;font:inherit;font-size:13px;background:transparent;min-width:0;flex:1}
.tf-acao{text-align:right;white-space:nowrap}
.tf-lista-j{border:1px solid var(--borda);border-radius:12px;overflow:hidden}
.tf-partes li[data-td-parte]{cursor:pointer;border-radius:8px;padding-left:6px;padding-right:6px}
.tf-partes li.foco{background:#F6F2EC}
.td-prog{min-width:120px}
.td-num{font-size:12px;color:var(--suave)}
.dj-seg button{flex:1;min-width:max-content;height:32px;padding:0 10px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:12.5px;font-weight:500;color:var(--suave);cursor:pointer}
.dj-seg button.on{background:#fff;color:var(--texto);box-shadow:0 1px 3px rgba(0,0,0,.08)}
#td-minha .link-p{margin:10px 0 4px}
#td-minha .dj-nota{margin:12px 0 6px}
.tf-escrever button{flex:none}
.tf-np-ed{display:flex;flex-direction:column;gap:10px;margin:6px 0 8px}
.tf-np-ed li.tf-np-l{display:flex;flex-direction:column;gap:8px;border:1px solid var(--borda);border-radius:12px;padding:10px 12px;background:#FBFAF8}
.tf-np-cab{display:flex;align-items:center;justify-content:space-between}
.tf-np-campos{display:grid;grid-template-columns:1.1fr 1.6fr .9fr .6fr;gap:8px}
.tf-np-l[data-tipo="fin"] .tf-np-campos+.tf-np-campos{grid-template-columns:.7fr 1.3fr 1.2fr}
.tf-np-l .dj-nota{margin:0}
@media (max-width:760px){.tf-np-campos,.tf-np-l[data-tipo="fin"] .tf-np-campos+.tf-np-campos{grid-template-columns:1fr}}
.tf-acomp{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
.tf-acomp>span{flex-basis:100%;font-size:12.5px;font-weight:600}
.tf-ligada{margin-top:-4px}
.dj-pv-add .link-p{margin-left:6px}
.tf-link{color:var(--texto);font-weight:600;text-decoration:underline;text-decoration-color:#CFC6BB;text-underline-offset:3px}
.tf-link:hover{text-decoration-color:var(--texto)}
.td-num{display:block;text-align:right;margin-top:2px}
.dj-pv-txt .tf-link{font-weight:500}
.tf-np-ed li.tf-np-l{align-items:stretch}
.tf-np-cab{width:100%}
.tf-np-l .dj-ck{display:flex;align-items:center;gap:8px;justify-content:flex-start;font-size:13px}
/* Fila de revisão (Etapa 4.5, ADR-0024) */
.rv-vazio{color:var(--suave);font-size:13px;border:0!important;background:none!important;padding:0!important}
.rv-c-res{align-self:flex-start;margin-top:2px}
.rv-trecho-sel{margin:0;padding:10px 12px;border-radius:10px;background:#FFF1D6;border-left:3px solid var(--ambar);font-size:13px;font-style:italic}
.rv-regra-tipo{font-size:12px}
.rv-vazio-p{min-height:1.85em;background:repeating-linear-gradient(135deg,#F6F4EF 0 6px,#fff 6px 12px);border-radius:4px}
#rv-folha:empty{display:none}
.rv-dev-l .rv-c-n{margin-top:1px}
/* Audiências (Etapa 4.6, ADR-0025) */
.chip-bt{border:0;background:none;padding:0;cursor:pointer;font:inherit}
.au-prog-a{background:var(--ambar)!important}
.au-prog{min-width:150px}
.pz-ev.au{background:var(--roxo-f,#F1ECF8);color:var(--roxo);border-color:transparent}
.pz-ev.au.ok{opacity:.7}
.au-check li[data-ad-item]{cursor:pointer}
.au-estr-ed textarea{min-height:90px}
.au-estr-ed small{display:block;margin-top:4px}
.au-pg-acoes{display:flex;gap:8px}
.au-vazio{padding:14px 0}
.au-res-prazo{display:flex;flex-direction:column;gap:10px;border:1px solid var(--borda);border-radius:12px;padding:12px;background:#FBFAF8}
#ad-onde-s .link-p{margin-top:4px}
/* Controladoria · Visão geral (Etapa 4.7) */
.marca.ct-m-verm{background:var(--verm)}
.marca.ct-m-ambar{background:var(--ambar)}
.marca.ct-m-cafe{background:var(--cafe,#8A6E4E)}
.ct-sem-risco{color:var(--suave);font-size:13px}

/* Área do cliente (Etapa 3.5): foto que o cliente colocou no perfil, no lugar das iniciais. */
.cl-foto-av { overflow: hidden; }
.cl-foto-av img { display: block; width: 100%; height: 100%; object-fit: cover; }
#cf-area-contas li { flex-wrap: wrap; }
.cf-area-l { display: flex; flex-wrap: wrap; gap: 12px; flex-basis: 100%; padding-left: 44px; }
.td-resp { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 10px; background: #FBFAF8; font-size: 13px; }
.td-resp p { margin: 0; line-height: 1.5; }

/* Como chegou (ADR-0028): campos que aparecem conforme o canal escolhido. */
.cl-origem { display: flex; flex-direction: column; gap: 12px; }
.cl-origem:not(:has(> :not([hidden]))) { display: none; }

/* Andamentos ao cliente (ADR-0029): ações da lista "Sem explicação" e texto do cartão em parágrafos. */
td.an-sug-ac { text-align: right; white-space: nowrap; }
.an-card p.an-texto { white-space: pre-line; }
.an-sug-ac .btn, .an-sug-ac .link-p { display: inline-flex; vertical-align: middle; width: auto; }
.an-card p.an-anexos { margin: 10px 0 0; font-size: 13px; color: var(--suave); }

/* Conversa das solicitações (ADR-0031): mensagens do escritório levam a logo. */
.sl-msgs .av { width: 34px; height: 34px; }
.sl-msgs .sl-logo { padding: 3px; border: 1px solid var(--borda); background: #fff; object-fit: contain; }

/* Agenda (ADR-0032): mês, bloqueio, janela de compromisso e horários para clientes. */
.ag-mes { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--borda2); }
.ag-mes-cab { padding: 10px 8px 6px; font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--suave); border-left: 1px solid var(--borda2); }
.ag-mes-d { min-height: 104px; padding: 6px 6px 8px; border-left: 1px solid var(--borda2); border-top: 1px solid var(--borda2); display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ag-mes-d > b { font-size: 13px; font-weight: 600; }
.ag-mes-d.fora { background: #FBFAF8; color: var(--fraco); }
.ag-mes-d.hoje > b { display: inline-flex; width: 24px; height: 24px; border-radius: 50%; background: var(--tinta); color: #fff; align-items: center; justify-content: center; font-size: 12px; }
.ag-mes-ev { display: block; font-size: 11.5px; line-height: 1.3; padding: 2px 6px; border-radius: 6px; border-left: 3px solid; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-mes-mais { font-size: 11.5px; color: var(--suave); text-decoration: none; }
.ag-ev.ag-bl { background: repeating-linear-gradient(45deg, #F7F5F1, #F7F5F1 6px, #EFEBE5 6px, #EFEBE5 12px); }
.ag-nav button.dj-x, .ag-nav button.link-p { font: inherit; cursor: pointer; }
.ag-seg { flex-wrap: wrap; }
.ag-tres { grid-template-columns: 1.4fr 1fr 1fr; }
.ag-part-l { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.ag-conf.ag-conf-sim { background: var(--ambar-f); border-color: var(--ambar-b); }
.ag-quem select { height: 36px; }
.ah-form { display: flex; flex-direction: column; gap: 10px; }
.ah-dia { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; }
.ah-dia .dj-ck { min-width: 96px; }
.ah-dia input[type=time] { font: inherit; font-size: 13px; height: 32px; padding: 0 6px; border: 1px solid var(--borda); border-radius: 8px; background: #fff; }
.ah-dia span { color: var(--suave); }
.ag-resp { font: inherit; font-size: 12px; height: 28px; border: 1px solid var(--borda); border-radius: 8px; background: #fff; }

/* Documentos (ADR-0033) */
.do-pasta.on { background: #F3EDE4; }
.do-ver-r { color: var(--verm); }
.dv-tela { position: relative; min-height: 420px; }
.dv-pdf { width: 100%; height: 72vh; min-height: 480px; border: 0; border-radius: 10px; background: #F7F5F1; display: block; }
.dv-img { max-width: 100%; display: block; margin: 0 auto; border-radius: 10px; }
.dv-tela > .do-marca { position: absolute; right: 14px; bottom: 10px; margin: 0; pointer-events: none; }
.dv-sem { padding: 40px 16px; text-align: center; }
.do-campos { font-size: 12.5px; line-height: 1.9; color: var(--texto); }
.do-campos code { font-size: 11.5px; background: #F3EDE4; border-radius: 6px; padding: 1px 5px; }
.do-campos small { display: block; color: var(--suave); line-height: 1.5; margin-top: 4px; }
.do-gerar-campos { display: flex; flex-direction: column; gap: 10px; }

/* ===== Comunicações (Etapa 7.1, ADR-0034) ===== */
.cm-quadro{display:block;width:100%;height:560px;border:0;background:#F2F1EF}
.cm-cf.on{background:#FBF8F3}
.cm-cf-t{all:unset;cursor:pointer;font-size:13.5px;font-weight:600}
.cm-cf-t:hover,.cm-cf-t:focus-visible{text-decoration:underline}
.cm-cf-todas{display:flex;align-items:center;gap:8px;padding:12px 22px 4px;font-size:12.5px;color:var(--suave)}
.cm-filtros{padding-top:16px;align-items:flex-end}
.cm-filtros select{border:0;background:transparent;font:inherit;font-weight:600;color:var(--texto);padding:0 2px}
.cm-busca{margin:0 0 0 auto}
.cm-tipo{display:block;font-size:11.5px;color:var(--suave)}
.cm-escolher{margin:10px 0 4px}
.cm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cm-chip{border:1px solid var(--borda);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}
.cm-lista{margin:0;padding:0;list-style:none}
.cm-lista li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid #F1ECE5}
.cm-lista li:first-child{border-top:0}
.cm-lista li>div{flex:1;min-width:180px}
.cm-lista b{display:block;font-size:13.5px;font-weight:600}
.cm-lista small{display:block;font-size:12px;color:var(--suave)}
.cm-lista li.on{background:var(--roxo-f);border-radius:10px;padding:10px}
.cm-motivo{color:var(--ambar)!important}
.cm-ler-t{white-space:pre-line;font-size:14px;line-height:1.65;margin:0}
.cm-ok,.cm-nao{flex:none;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;background:var(--verde)}
.cm-nao{background:var(--ambar)}
.cm-descartar{margin-top:6px;color:var(--verm)}
.cm-k.verm b{color:var(--verm)}
@media (max-width:760px){.cm-quadro{height:460px}.cm-busca{margin:0}}

/* ===== Jurisprudência e Teses (Etapa 8.1, ADR-0035) ===== */
.jt-integra{margin:0;max-height:320px;overflow:auto;white-space:pre-wrap;font:13px/1.6 inherit;font-family:inherit;padding:12px 14px;border:1px solid var(--borda);border-radius:10px;background:#FBF9F6;color:var(--suave)}
.jt-ligar{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto;padding:10px 12px;border:1px solid var(--borda);border-radius:10px}
.jt-ligar .dj-ck{font-size:13px;align-items:flex-start}
.jr-ficha{margin-top:18px}
.jt-busca-t{margin:0 20px 6px}
.jt-busca-t input{width:100%}
.jt-n-revisar[hidden]{display:none}
#jt-lista .seg-vazio,#jt-teses .seg-vazio{padding:22px 20px}

/* ===== Comercial (Etapa 9.1, ADR-0036) ===== */
.cr-busca{margin:0 0 12px}.cr-busca input{width:100%}
.cr-verm{color:var(--verm)!important}.cr-verde{color:var(--verde)!important}
#cr-quadro .tf-c.arrastando{opacity:.5}
#cr-quadro .tf-col.alvo{outline:2px dashed var(--bege2);outline-offset:-4px}
#cr-quadro .tf-vazio{margin:6px 4px;font-size:12px;color:var(--fraco)}
.cr-filtros select{border:0;background:transparent;font:inherit;font-weight:600;color:var(--texto)}
/* Relatórios (Etapa 12): "Baixar PDF" usa a impressão do navegador; só o conteúdo da tela sai no papel. */
@media print{.lateral,.topo,.cab .acoes,.dj-abas,.cmi-barra,.proto-aviso,.av-painel,.pp-painel{display:none!important}.app{display:block}body{background:#fff}.conteudo{padding:0}.painel{break-inside:avoid}}
/* Meu perfil (Etapa 13.1): códigos de recuperação e chaves de acesso */
.pp-codigos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0 0 14px;padding:14px 18px 14px 36px;border:1px dashed var(--bege2);border-radius:12px;background:#FBF9F6;font-size:15px;letter-spacing:.06em}
.pp-chaves{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.pp-chaves li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--linha);border-radius:12px}
.pp-chaves li div{display:flex;flex-direction:column}.pp-chaves small{color:var(--suave);font-size:12px}
#form-codigo .link-p{margin-top:-4px;align-self:flex-start;background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:13px}
/* Menu (refino 13.2): a Controladoria abre e fecha ao tocar; no celular, três riscos no topo e a barra lateral por cima. */
.lateral a.it[data-grupo]:not(.aberto)+.sub{display:none}
.lateral a.it[data-grupo] .seta{transition:transform .2s}
.lateral a.it[data-grupo]:not(.aberto) .seta{transform:rotate(-90deg)}
.menu-btn,.menu-fechar,.menu-fundo{display:none}
@media screen and (max-width:899px){
  .app{display:block}
  .lateral{position:fixed;inset:0 auto 0 0;z-index:58;width:min(300px,86vw);height:100vh;height:100dvh;overflow-y:auto;transform:translateX(-102%);transition:transform .25s ease;flex:none;padding-top:18px}
  body.menu-aberto .lateral{transform:none;box-shadow:20px 0 60px -20px rgba(0,0,0,.5)}
  .menu-fundo{display:block;position:fixed;inset:0;z-index:57;background:rgba(20,18,17,.45);opacity:0;pointer-events:none;transition:opacity .2s}
  body.menu-aberto .menu-fundo{opacity:1;pointer-events:auto}
  body.menu-aberto{overflow:hidden}
  .menu-fechar{display:block;position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;cursor:pointer}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border:1px solid var(--borda);border-radius:12px;background:#fff;color:var(--texto);cursor:pointer}
  .topo{flex-wrap:nowrap;gap:10px;padding:10px 12px}
  .topo .ao-vivo{display:none}
  .topo .cmd{flex:1 1 auto;min-width:0}
  .topo .cmd span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topo .perfil>span{display:none}
  .topo-dir{gap:8px;margin-left:0}
  .conteudo{padding:18px 14px 40px}
  .cab{flex-direction:column;align-items:stretch;gap:12px}
  .cab .acoes{flex-wrap:wrap}
  .cab .acoes .btn{flex:1 1 auto;justify-content:center}
  .tab-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .dj-abas,.abas{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .dj-abas a,.abas a{white-space:nowrap}
  .dj-mod{width:100%;max-height:calc(100dvh - 20px)}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .grade2,.grade3,.rl-blocos,.rl-ks{grid-template-columns:1fr!important}
  .perfil-painel{width:100%}
}
@media screen and (max-width:480px){.topo .cmd span{display:none}.topo .cmd{flex:0 0 auto}.kpis{grid-template-columns:1fr 1fr!important}}
/* Integrações (Etapa 13.2) */
.int-lista{list-style:none;margin:0;padding:0}
.int-it{display:flex;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--linha);border-left:4px solid transparent}
.int-it:first-child{border-top:0}
.int-ok{border-left-color:var(--verde)}.int-atencao{border-left-color:var(--ambar)}.int-falha{border-left-color:var(--verm)}.int-desligado{border-left-color:#C9C2B8}.int-manual{border-left-color:var(--azul)}
.int-t{display:flex;flex-direction:column;gap:2px;min-width:0}.int-t small{color:var(--suave)}.int-t p{margin:4px 0 0;font-size:13.5px}
.int-como{color:var(--cafe);font-size:13px!important}
.int-ac{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:8px;flex:none;max-width:45%}
@media screen and (max-width:640px){.int-it{flex-direction:column}.int-ac{max-width:none;justify-content:flex-start}}
/* Revisão trimestral dos acessos (ACE-06, ADR-0042) */
.ra-lista{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.ra-it{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--borda);border-radius:12px;background:#FBFAF8}
.ra-it b{display:block;font-size:14px}.ra-it small{color:var(--suave);font-size:12.5px;line-height:1.5}
.janela-larga .dj-mod{max-width:min(1040px,100%);width:100%}
.janela-larga .t small{line-height:1.5}
@media screen and (max-width:640px){.ra-it{flex-direction:column;align-items:flex-start}}
.int-passos{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;word-break:break-word}
.dj-pv .dj-pv-vazio{display:block;grid-template-columns:none;grid-column:1/-1;width:100%;max-width:none;padding:4px 0;border:0;background:none}
.dj-pz-vazio{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px dashed #CFC6BB;border-radius:12px;background:#FBFAF8}.dj-pz-vazio small{color:var(--suave);font-size:13px}.dj-cf-lista{display:flex;flex-direction:column;gap:12px}.dj-cf-calc:empty{display:none}
.cp-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.cf-extra{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
#painel-copias>.dj-nota,#painel-selo>.dj-nota{padding:0 22px;margin:4px 0 12px}
#painel-copias>.cp-acoes,#painel-selo>.cp-acoes{padding:0 22px 18px;margin-top:12px}
/* Celular (refino 13.5, ADR-0047): tabelas viram cartões (o nome da coluna vai ao lado do valor), migalhas menores,
   rodapés que quebram bem e alvos de toque de 44px. */
@media screen and (max-width:640px){
  table.t.tc,table.t.tc tbody,table.t.tc tr,table.t.tc td{display:block;width:100%}
  table.t.tc thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.t.tc tr{padding:12px 16px;border-bottom:1px solid var(--borda2)}
  table.t.tc tr:hover td{background:none}
  table.t.tc td,table.t.tc td:first-child,table.t.tc td:last-child{padding:4px 0;border:0;white-space:normal;word-break:break-word}
  table.t.tc td[data-r]{position:relative;padding-left:calc(38% + 10px);min-height:24px;text-align:left}
  table.t.tc td[data-r]::before{position:absolute;left:0;top:7px;width:38%;line-height:1.3;content:attr(data-r);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
  table.t.tc td:empty{display:none}
  table.t.tc td.tc-cheia{padding:6px 0;color:var(--suave)}
  .tab-wrap{overflow-x:visible}
  .migalha{font-size:10.5px;letter-spacing:.1em;gap:4px 6px}#hoje{letter-spacing:.05em}
  .cab h1{font-size:28px}
  .dj-lista-rod{flex-wrap:wrap}.dj-lista-rod .link-p{flex:1 1 100%;text-align:center}
  .btn,.menu-btn{min-height:42px}
}
/* Documentos abre pela lista de grupos (pedido do proprietário, ADR-0047) */
.do-grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:4px 22px 22px}
.do-g{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid var(--borda);border-radius:14px;background:#fff;text-decoration:none;color:var(--texto);transition:border-color .15s,box-shadow .15s}
.do-g:hover,.do-g:focus-visible{border-color:#BFB2A2;box-shadow:0 8px 24px -16px rgba(0,0,0,.35)}
.do-g-t{display:flex;align-items:center;gap:2px;min-width:0;max-width:100%}.do-g-t b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.do-g small{font-size:12.5px;color:var(--suave);line-height:1.45}.do-g .chip{margin-top:4px}
.gr.gr-claro{background:#ECE6DE;color:#5A452F!important}
#do-pastas{max-height:55vh;overflow-y:auto}
.dj-tab-cab #do-voltar{align-self:flex-start;flex:none}
@media screen and (max-width:900px){.do-pastas{display:none}.do-grupos{grid-template-columns:1fr;padding:4px 16px 18px}}
/* Entrada no celular (pedido do proprietário, ADR-0047): só o logo horizontal e, logo abaixo, a caixa de entrada,
   sem precisar rolar a tela. A faixa escura de apresentação fica só no computador. */
.login-logo-cel{display:none}
@media screen and (max-width:899px){
  .login .login-marca{display:none}
  .login .login-form{flex:1 1 100%;flex-direction:column;justify-content:flex-start;gap:22px;min-height:100vh;min-height:100dvh;padding:32px 16px 28px}
  .login-logo-cel{display:block;width:min(250px,70vw);height:auto;margin:4px auto 0}
  .login-logo-cel[hidden]{display:none}
}
.fn-f-nota{padding:0 22px 16px;margin:0}
/* Ficha do cliente · Reuniões e anotações */
#cf-reunioes{margin-top:20px;padding-bottom:8px}
.cf-reu{list-style:none;margin:0;padding:0 22px 14px}
.cf-reu>li{padding:12px 0;border-top:1px solid var(--borda2)}.cf-reu>li:first-child{border-top:0}
.cf-reu-t{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.cf-reu-t small{color:var(--suave);font-size:12.5px}
.cf-reu-n{margin:6px 0 0;font-size:13.5px;line-height:1.6;white-space:pre-wrap}
/* Site do escritório (ADR-0054) */
.site-corpo{display:grid;gap:18px;margin-top:18px}
.site-bloco{padding:22px}
.site-t{margin:0 0 4px;font-size:16px}
.site-dica{margin:0 0 14px;font-size:13px;color:var(--fraco)}
.site-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #E7E1D9;border-radius:12px;background:#FBFAF8;counter-increment:site}
.site-lista{counter-reset:site}
.site-item::before{content:counter(site,decimal-leading-zero);font-size:12px;font-weight:600;color:#9A8F86;padding-top:30px;min-width:22px}
.site-campos{flex:1;display:grid;gap:10px;min-width:0}
.site-campos textarea,.site-campos input,.site-grade input{width:100%;font:inherit;font-size:13.5px;border:1px solid #DCD5CC;border-radius:10px;padding:9px 12px;background:#fff}
.site-ac{display:flex;gap:4px;padding-top:24px}
.site-rod{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.site-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.site-fotos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.site-foto{border:1px solid #E7E1D9;border-radius:12px;overflow:hidden;background:#FBFAF8}
.site-foto img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.site-foto .site-ac{padding:8px;justify-content:center}
.site-links{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.site-links li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 14px;border:1px solid #E7E1D9;border-radius:12px}
.site-links span{display:flex;gap:14px}
.site-dl{margin:0;display:grid;gap:10px}
.site-dl div{display:grid;grid-template-columns:220px 1fr;gap:12px}
.site-dl dt{font-size:13px;color:var(--fraco)}
.site-dl dd{margin:0;font-size:14px;word-break:break-all}
@media (max-width:700px){.site-item{flex-direction:column}.site-item::before{padding-top:0}.site-ac{padding-top:0}.site-dl div{grid-template-columns:1fr;gap:2px}}
.site-principal{margin-top:22px;padding-top:18px;border-top:1px solid #E7E1D9}
.site-arq{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.site-capa{width:64px;height:64px;object-fit:contain;border-radius:8px;background:#F1ECE6}
.site-check{display:flex;gap:8px;align-items:center;font-size:13px;color:#4A4541}
/* Banco de talentos (ADR-0056) */
.tal-filtros{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--linha);font-size:13px}
.tal-filtros label{display:flex;gap:8px;align-items:center}
.tal-filtros span{margin-left:auto;color:var(--suave,#8C8480)}
.tal-lista{list-style:none;margin:0;padding:0}
.tal-it{padding:18px 22px;border-top:1px solid var(--linha);display:grid;gap:12px}
.tal-it:first-child{border-top:0}
.tal-cab{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.tal-cab b{display:block;font-size:15px}
.tal-cab small{color:var(--suave,#8C8480);font-size:12.5px}
.tal-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 24px;margin:0;font-size:13px}
.tal-info dt{font-size:11.5px;color:var(--suave,#8C8480);text-transform:uppercase;letter-spacing:.06em}
.tal-info dd{margin:2px 0 0;white-space:pre-wrap;word-break:break-word}
.tal-nota{width:100%;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--linha);border-radius:10px}
.tal-ac{display:flex;flex-wrap:wrap;gap:8px}
.tal-excluir{margin-left:auto}
.tal-vazio{padding:28px 22px;color:var(--suave,#8C8480);font-size:13.5px}
