/* ═══════════════════════════════════════════════════════════════
   Gestão Jurídica — complementos ao styles.css da casa.
   Direção: Variância 4 · Motion 3 · Densidade 7 (painel operacional).
   REGRA: nenhuma cor fora dos tokens de styles.css; espaçamentos na
   escala 4/8/12/16/24/32; ícones = um único set SVG inline (traço 1.75).
   ═══════════════════════════════════════════════════════════════ */

/* ---------- ícones (set único, monocromático) ---------- */
.jr-ico{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;
        stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.nav-ico .jr-ico{width:16px;height:16px;vertical-align:-2px}

/* ═══════════════ FAIXA DE KPIs (célula única, divisor de 1px) ═══════════════ */
.jr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:1px;
         background:var(--cinza-borda-2);border:1px solid var(--cinza-borda-2);
         border-radius:var(--r);overflow:hidden;box-shadow:var(--s1);margin-bottom:16px}
.jr-kpis .kpi{background:var(--card);border:0;border-radius:0;box-shadow:none;margin:0;
              padding:14px 16px 12px}
.jr-kpis .kpi .l{font-size:10.5px}
.jr-kpis .kpi .v{font-size:24px}
/* protagonista: o primeiro (Vencidos) fala mais alto */
.jr-kpis .kpi:first-child{background:color-mix(in oklab,var(--err) 5%,var(--card))}
.jr-kpis .kpi:first-child .v{font-size:31px}
.jr-kpis .kpi.jr-alerta .v{color:var(--err)}
.jr-kpis .kpi.jr-atencao .v{color:var(--warn)}
.jr-kpis .kpi.jr-ok .v{color:var(--ok)}
.jr-kpis .kpi.jr-click{cursor:pointer;transition:background .14s ease}
.jr-kpis .kpi.jr-click:hover{background:var(--row-hover);transform:none;box-shadow:none}
.jr-kpis .kpi.jr-click:first-child:hover{background:color-mix(in oklab,var(--err) 9%,var(--card))}
.jr-kpis .kpi .kpi-sub{font-size:10.5px;opacity:0;transition:opacity .14s ease}
.jr-kpis .kpi.jr-click:hover .kpi-sub{opacity:1}

/* ---------- layout de duas colunas ---------- */
.jr-2col{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-bottom:14px}
@media (max-width:980px){.jr-2col{grid-template-columns:1fr}}

/* ---------- semáforo ---------- */
.jr-sem{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}
.jr-dot{width:8px;height:8px;border-radius:999px;flex:none}
.jr-dot.vencido{background:var(--err)}
.jr-dot.critico{background:var(--err);opacity:.72}
.jr-dot.a_vencer{background:var(--warn)}
.jr-dot.vigente{background:var(--ok)}
.jr-dot.sem_data{background:var(--info)}
.jr-dot.sem_vencimento{background:var(--texto-fraco)}

/* ═══════════════ BARRA DE FILTROS (um cartão coeso) ═══════════════ */
.jr-toolbar{background:var(--card);border:1px solid var(--cinza-borda);border-radius:var(--r);
            box-shadow:var(--s1);padding:12px 14px 10px;margin-bottom:14px;
            display:flex;flex-direction:column;gap:10px}
.jr-toolbar .filtros{margin:0;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}
.jr-toolbar .fgrp{display:flex;flex-direction:column;gap:4px;min-width:130px}
.jr-toolbar .lbl{font-size:10px;font-weight:700;text-transform:uppercase;
                 letter-spacing:.07em;color:var(--texto-fraco)}

/* campos: base comum */
.jr-toolbar input[type="search"],.jr-toolbar input,.jr-toolbar select{
  background:var(--surface-2);border:1px solid var(--cinza-borda);border-radius:var(--r-sm);
  color:var(--texto);font:inherit;font-size:13px;padding:8px 11px;min-height:36px;
  transition:border-color .14s ease,background .14s ease}
.jr-toolbar input:hover,.jr-toolbar select:hover{border-color:var(--cinza-borda-2)}
.jr-toolbar input:focus,.jr-toolbar select:focus{outline:none;border-color:var(--adb-azul);
  background:var(--card);box-shadow:0 0 0 3px color-mix(in oklab,var(--adb-azul) 14%,transparent)}
:root[data-theme="dark"] .jr-toolbar input:focus,
:root[data-theme="dark"] .jr-toolbar select:focus{border-color:var(--info);
  box-shadow:0 0 0 3px color-mix(in oklab,var(--info) 20%,transparent)}

/* busca com ícone embutido */
.jr-busca{position:relative;display:flex;align-items:center}
.jr-busca .jr-ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);
                  color:var(--texto-fraco);pointer-events:none}
.jr-toolbar .jr-busca input,
.jr-toolbar .jr-busca input[type="search"]{width:100%;padding-left:36px}

/* selects: seta própria (a nativa some) */
.jr-toolbar select{appearance:none;-webkit-appearance:none;padding-right:30px;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2393a0ac' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 9px center}

/* ═══════════════ CHIPS DE SITUAÇÃO (controle segmentado) ═══════════════ */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 13px;
      border-radius:999px;border:1px solid var(--cinza-borda);background:var(--surface-2);
      color:var(--texto-mid);font:inherit;font-size:12px;font-weight:600;cursor:pointer;
      transition:background .14s ease,border-color .14s ease,color .14s ease}
.chip:hover{background:var(--surface-3);border-color:var(--cinza-borda-2);color:var(--texto)}
.chip.on{background:var(--tinta);border-color:var(--tinta);color:var(--card)}
:root[data-theme="dark"] .chip.on{background:var(--info);border-color:var(--info);color:#08131d}
.chip.on .jr-dot{outline:2px solid color-mix(in oklab,var(--card) 45%,transparent)}
.chip .chip-n{font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:999px;
              background:color-mix(in oklab,var(--tinta) 8%,transparent);color:inherit;
              font-variant-numeric:tabular-nums;min-width:20px;text-align:center}
.chip.on .chip-n{background:color-mix(in oklab,var(--card) 22%,transparent)}

/* chips de filtro ativo (removíveis) */
.jr-filtros-ativos{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.jr-filtros-ativos:empty{display:none}
.jr-fa{background:color-mix(in oklab,var(--adb-azul) 10%,var(--card));color:var(--tinta);
       border:1px solid color-mix(in oklab,var(--adb-azul) 28%,transparent);border-radius:999px;
       padding:4px 12px;min-height:30px;font-size:11.5px;font-weight:600;cursor:pointer;
       display:inline-flex;align-items:center;gap:7px;transition:all .14s ease}
.jr-fa span{opacity:.55;font-size:10px}
.jr-fa:hover{background:color-mix(in oklab,var(--err) 12%,var(--card));border-color:var(--err);color:var(--err)}
.jr-fa-all{background:transparent;border-style:dashed;color:var(--texto-mid);font-weight:500}
.jr-fa-all:hover{color:var(--tinta);border-color:var(--cinza-borda-2);border-style:dashed;background:var(--surface-3)}

/* ═══════════════ TABELAS (densidade 7, organizada) ═══════════════ */
.view table.grid{font-size:12.8px}
.view table.grid th{padding:9px 12px}
.view table.grid td{padding:8px 12px}
.view table.grid tbody tr:nth-child(even){background:color-mix(in oklab,var(--tinta) 2.5%,transparent)}
.view table.grid tbody tr:hover{background:var(--row-hover)}
td.jr-tit{max-width:420px}
td.jr-tit a{color:var(--info);text-decoration:none;font-weight:600}
td.jr-tit a:hover{text-decoration:underline}
.jr-tit-sub{font-size:10.5px;color:var(--texto-fraco);margin-top:2px}
.jr-nowrap{white-space:nowrap}
.jr-dias{font-weight:700;font-variant-numeric:tabular-nums}
.jr-dias.neg{color:var(--err)}
.jr-dias.prox{color:var(--warn)}
tr.jr-tr-click{cursor:pointer}

/* ---------- cards por unidade ---------- */
.jr-grid-un{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:12px}
.jr-un{background:var(--surface-2);border:1px solid var(--cinza-borda);border-radius:var(--r-sm);padding:12px 14px}
.jr-un-nome{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--tinta);margin-bottom:6px}
.jr-un-tot{font-size:11px;color:var(--texto-mid);margin-bottom:8px}
.jr-un-barra{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--surface-3);margin-bottom:8px}
.jr-un-barra i{display:block;height:100%}
.jr-un-barra i.vencido{background:var(--err)}
.jr-un-barra i.atencao{background:var(--warn)}
.jr-un-barra i.vigente{background:var(--ok)}
.jr-un-linhas{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11.5px;color:var(--texto)}
.jr-mini{background:transparent;border:1px solid transparent;border-radius:999px;padding:3px 8px;
         font-size:11px;font-weight:700;color:var(--texto);display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.jr-mini:hover{background:var(--surface-3);border-color:var(--cinza-borda-2)}

/* ---------- gráfico de meses ---------- */
.jr-chart{display:flex;align-items:flex-end;gap:5px;height:168px;padding:6px 0 0}
.jr-col{flex:1 1 0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;min-width:0}
.jr-bar{width:100%;max-width:26px;border-radius:4px 4px 0 0;min-height:2px;background:var(--adb-azul);transition:filter .14s ease}
.jr-bar.passado{background:color-mix(in oklab,var(--err) 78%,transparent)}
.jr-bar.atual{background:var(--adb-laranja)}
.jr-bar-n{font-size:10.5px;font-weight:700;color:var(--texto-mid);font-variant-numeric:tabular-nums}
.jr-col-lab{font-size:10px;color:var(--texto-fraco);white-space:nowrap;transform:rotate(-45deg);transform-origin:center;height:26px}
.jr-legenda{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--texto-mid);margin-top:10px;padding-top:10px;border-top:1px solid var(--cinza-borda)}
.jr-leg-btn{background:transparent;border:1px solid transparent;border-radius:999px;padding:3px 9px;min-height:28px;
            font:inherit;font-size:11px;color:var(--texto-mid);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.jr-leg-btn:hover{background:var(--surface-3);border-color:var(--cinza-borda-2);color:var(--texto)}
.jr-leg-btn i{width:10px;height:10px;border-radius:3px;display:inline-block}

/* ---------- lista "vence neste mês" ---------- */
.jr-lista{display:flex;flex-direction:column;max-height:210px;overflow:auto}
.jr-li{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--cinza-borda)}
.jr-li:last-child{border-bottom:0}
.jr-li-t{flex:1;min-width:0;font-size:12.5px;color:var(--texto);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-li-d{font-size:11.5px;font-weight:700;color:var(--texto-mid);flex:none;font-variant-numeric:tabular-nums}

/* ═══════════════ MAPA DO ACERVO ═══════════════ */
.jr-mapa-resumo{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 14px;font-size:12.5px;color:var(--texto-mid)}
.jr-mapa-resumo b{color:var(--tinta);font-family:var(--font-display);font-size:15px}
.jr-mapa-resumo .jr-r-venc b{color:var(--err)}

.jr-no{margin-bottom:6px}
.jr-no-h{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--cinza-borda);
         border-radius:var(--r-sm);padding:9px 12px;cursor:pointer;transition:border-color .14s,box-shadow .14s}
.jr-no-h:hover{border-color:var(--adb-azul);box-shadow:var(--s1)}
.jr-no-h.aberto{border-color:var(--cinza-borda-2);background:var(--surface-2);border-radius:var(--r-sm) var(--r-sm) 0 0}
.jr-no-x{background:transparent;border:0;color:var(--texto-mid);width:20px;height:20px;padding:0;cursor:pointer;flex:none;
         display:inline-flex;align-items:center;justify-content:center}
.jr-no-x .jr-ico{width:14px;height:14px;transition:transform .16s ease}
.jr-no-h.aberto .jr-no-x .jr-ico{transform:rotate(90deg)}
.jr-no-ico{color:var(--adb-laranja);display:inline-flex;flex:none}
.jr-no-nome{font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--tinta);
            flex:1 1 200px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-no-qtd{font-size:13px;font-weight:700;color:var(--texto);font-variant-numeric:tabular-nums;flex:none;min-width:52px;text-align:right}
.jr-no-ver{flex:none}
/* "anexar" aparece discreto e ganha destaque ao passar o mouse na pasta */
.jr-no-anexar{flex:none;opacity:.55}
.jr-no-h:hover .jr-no-anexar{opacity:1}
@media (hover:none){ .jr-no-anexar{opacity:1} }

.jr-mb{display:flex;height:6px;width:120px;flex:none;border-radius:999px;overflow:hidden;background:var(--surface-3)}
.jr-mb i{display:block;height:100%}
.jr-mb i.venc{background:var(--err)} .jr-mb i.aten{background:var(--warn)}
.jr-mb i.vig{background:var(--ok)}  .jr-mb i.nada{background:var(--surface-3)}

.jr-no-pills{display:flex;gap:5px;flex-wrap:wrap;flex:none}
.jr-pill{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}
.jr-pill.venc{background:var(--err-bg);color:var(--err)}
.jr-pill.crit{background:var(--err-bg);color:var(--err);opacity:.85}
.jr-pill.aten{background:var(--warn-bg);color:var(--warn)}
.jr-pill.info{background:var(--info-bg);color:var(--info)}

.jr-filhos{border:1px solid var(--cinza-borda-2);border-top:0;border-radius:0 0 var(--r-sm) var(--r-sm);
           background:var(--card);padding:4px 0;max-height:420px;overflow:auto}

/* ── árvore em N níveis: a indentação e o fio-guia marcam a profundidade ── */
.jr-nivel-1 > .jr-no-h{padding-left:10px}
.jr-nivel-2 > .jr-no-h{padding-left:26px}
.jr-nivel-3 > .jr-no-h{padding-left:42px}
.jr-nivel-4 > .jr-no-h{padding-left:58px}
.jr-nivel-5 > .jr-no-h{padding-left:74px}
.jr-nivel-6 > .jr-no-h{padding-left:90px}
/* dentro de uma pasta aberta, os filhos não repetem a moldura */
.jr-filhos .jr-no > .jr-no-h{border:0;border-bottom:1px solid var(--cinza-borda);
                             border-radius:0;background:transparent;box-shadow:none}
.jr-filhos .jr-no:last-child > .jr-no-h:not(.aberto){border-bottom:0}
.jr-filhos .jr-no > .jr-no-h:hover{background:var(--row-hover)}
.jr-filhos .jr-filhos{border:0;border-radius:0;padding:0;max-height:none;overflow:visible;
                      background:color-mix(in oklab,var(--tinta) 2%,transparent)}
/* nó sem pastas dentro: sem seta, mas alinhado com os que têm */
.jr-no-h.folha{cursor:default}
.jr-no-x-folha{width:20px;height:20px;flex:none;display:inline-block}
.jr-sub{display:flex;align-items:center;gap:10px;padding:7px 12px 7px 24px;border-bottom:1px solid var(--cinza-borda);
        position:relative}
.jr-sub::before{content:"";position:absolute;left:14px;top:0;bottom:0;width:1px;
                background:color-mix(in oklab,var(--tinta) 10%,transparent)}
.jr-sub:last-child{border-bottom:0}
.jr-sub:hover{background:var(--row-hover)}
.jr-sub-ico{color:var(--texto-fraco);display:inline-flex;flex:none}
.jr-sub-ico .jr-ico{width:14px;height:14px}
.jr-sub-nome{flex:1 1 180px;min-width:0;font-size:12.5px;color:var(--texto);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-sub-qtd{font-size:12.5px;font-weight:700;color:var(--texto-mid);font-variant-numeric:tabular-nums;flex:none;min-width:46px;text-align:right}
.jr-sub-prox{font-size:11px;color:var(--texto-fraco);flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ═══════ INTERAÇÃO ═══════ */
.jr-click-alvo{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.jr-click-alvo:focus-visible{outline:2px solid var(--adb-laranja);outline-offset:3px;border-radius:var(--r-sm)}
.jr-un.jr-click-alvo:hover{transform:translateY(-2px);box-shadow:var(--s2);border-color:var(--adb-azul)}
.jr-li.jr-click-alvo:hover{background:var(--row-hover)}
.jr-col.jr-click-alvo:hover .jr-bar{filter:brightness(1.22)}
.jr-col.jr-click-alvo:hover .jr-bar-n{color:var(--tinta)}
.jr-num-btn{background:transparent;border:0;font-weight:700;font-size:12.8px;cursor:pointer;
            padding:2px 6px;border-radius:var(--r-sm);font-variant-numeric:tabular-nums}
.jr-num-btn.err{color:var(--err)} .jr-num-btn.warn{color:var(--warn)}
.jr-num-btn:hover{background:var(--surface-3);text-decoration:underline}

/* modal de detalhe */
.jr-det-topo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--cinza-borda)}
.jr-det-dias{font-size:12px;font-weight:700;color:var(--texto-mid)}
.jr-det dt{color:var(--texto-fraco)}
.jr-det-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--cinza-borda)}

/* form do modal de validação */
.jr-form{display:flex;flex-direction:column;gap:12px}
.jr-form label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--texto-mid)}
.jr-form input,.jr-form select,.jr-form textarea{width:100%}
.jr-doc-meta{background:var(--surface-2);border:1px solid var(--cinza-borda);border-radius:var(--r-sm);
             padding:10px 12px;font-size:12px;color:var(--texto-mid);line-height:1.6}
.jr-doc-meta b{color:var(--tinta)}

/* toque: alvos maiores, sem hover-lift */
@media (hover:none){
  .jr-mini,.jr-num-btn,.jr-leg-btn,.jr-fa,.chip{min-height:38px}
  .jr-click-alvo:hover{transform:none}
}
@media (max-width:860px){
  .jr-mb{width:70px}
  .jr-no-pills{display:none}
  .jr-sub-prox{display:none}
  .jr-kpis{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .jr-click-alvo,.jr-bar,.jr-no-x .jr-ico,.chip,.jr-fa{transition:none}
}

/* ═══════════════ FASE 4 · VALIDAÇÃO DAS PROPOSTAS DA IA ═══════════════ */
/* faixa de KPIs desta tela: protagonista é "propostas a conferir" (atenção, não erro) */
.jr-kpis-ia .kpi:first-child{background:color-mix(in oklab,var(--warn) 7%,var(--card))}
.jr-kpis-ia .kpi .kpi-sub{opacity:.8}

/* barra de ações em lote */
.jr-val-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
              padding-top:10px;border-top:1px solid var(--cinza-borda)}
.jr-val-acoes[hidden]{display:none}
.jr-check{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--texto-mid);cursor:pointer}
.jr-check input{width:15px;height:15px;accent-color:var(--adb-azul);cursor:pointer}
.jr-val-n{font-size:11.5px;font-weight:700;color:var(--texto-mid);font-variant-numeric:tabular-nums;
          margin-right:auto}

/* tabela da fila */
.jr-tab-val th.jr-th-check,.jr-tab-val td.jr-td-check{width:34px;padding-right:0;text-align:center}
.jr-td-check input{width:15px;height:15px;accent-color:var(--adb-azul);cursor:pointer}
.jr-td-check input:disabled{cursor:default;opacity:.4}
.jr-prop-data{font-size:13.5px;font-weight:700;color:var(--tinta);font-variant-numeric:tabular-nums}
.jr-sem-prop{color:var(--texto-fraco);font-size:12px}
.jr-conf{font-size:10.5px;font-weight:700;margin-top:3px;letter-spacing:.02em}
.jr-conf.alta{color:var(--ok)}
.jr-conf.media{color:var(--warn)}
.jr-conf.baixa{color:var(--err)}
.jr-evid{max-width:330px;font-size:11.5px;color:var(--texto-mid);font-style:italic;
         overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-acoes-linha{display:flex;gap:5px;justify-content:flex-end}
.jr-btn-neg:hover{border-color:var(--err);color:var(--err)}

/* ═══════════════ ANEXAR DOCUMENTO ═══════════════ */
.somente-admin{display:none}
body.role-admin .somente-admin{display:inline-flex}

/* campos dos modais ganham a mesma cara dos filtros */
.modal-body .jr-form input,.modal-body .jr-form select,.modal-body .jr-form textarea{
  border:1px solid var(--cinza-borda-2);border-radius:var(--r-sm);padding:8px 11px;
  font:inherit;font-size:13px;background:var(--card);color:var(--texto);outline:none;
  min-height:36px;width:100%}
.modal-body .jr-form input:focus,.modal-body .jr-form select:focus,
.modal-body .jr-form textarea:focus{border-color:var(--adb-azul);
  box-shadow:0 0 0 3px color-mix(in oklab,var(--adb-azul) 12%,transparent)}
.modal-body .jr-form textarea{min-height:56px;resize:vertical}
.modal-body .jr-form input[type="file"]{padding:7px 9px;background:var(--surface-2);cursor:pointer}

.jr-form-anexo{gap:14px}
.jr-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.jr-f2 > div{display:flex;flex-direction:column;gap:4px;min-width:0}
/* o display da regra acima vencia o atributo hidden: o bloco ficava sempre
   visível na tela, mesmo escondido pelo JS */
.jr-f2 > div[hidden]{display:none}
.jr-f-col2{grid-column:1 / -1}
.jr-f-arquivo{display:flex;flex-direction:column;gap:5px;background:var(--surface-2);
              border:1px dashed var(--cinza-borda-2);border-radius:var(--r-sm);padding:12px 14px}
.jr-f-arquivo .cfg-hint{margin:0}
.jr-req{color:var(--err);font-weight:700;text-transform:none;letter-spacing:0;font-size:10px}
.jr-aviso-anexo{margin:0}
.jr-anexo-erro{color:var(--err);font-size:12.5px;font-weight:600;min-height:16px}
.jr-anexo-erro:empty{min-height:0}
@media (max-width:640px){
  .jr-f2{grid-template-columns:1fr}
  .jr-evid{display:none}
  .jr-acoes-linha{flex-direction:column}
}

/* ═══════════════ NAVEGADOR DE PASTAS DO SHAREPOINT ═══════════════ */
.jr-destino{display:flex;flex-direction:column;gap:8px;background:var(--surface-2);
            border:1px solid var(--cinza-borda-2);border-radius:var(--r-sm);padding:12px 14px}

/* trilha (biblioteca › pasta › subpasta) */
.jr-bc-linha{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font-size:12px}
.jr-bc{display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;
       color:var(--info);font:inherit;font-size:12px;font-weight:600;cursor:pointer;
       padding:3px 7px;border-radius:var(--r-sm);min-height:26px}
.jr-bc:hover{background:var(--surface-3)}
.jr-bc.atual{color:var(--texto);cursor:default}
.jr-bc.atual:hover{background:transparent}
.jr-bc .jr-ico{width:14px;height:14px}
.jr-bc-sep{color:var(--texto-fraco);font-size:12px}

/* lista de subpastas do nível atual */
.jr-dest-lista{max-height:190px;overflow:auto;background:var(--card);
               border:1px solid var(--cinza-borda);border-radius:var(--r-sm);padding:4px}
.jr-pasta-item{display:flex;align-items:center;gap:9px;width:100%;background:transparent;
               border:0;border-radius:var(--r-sm);padding:7px 9px;cursor:pointer;
               font:inherit;font-size:12.5px;color:var(--texto);text-align:left;min-height:34px}
.jr-pasta-item:hover{background:var(--row-hover)}
.jr-pasta-item .jr-ico{width:15px;height:15px;flex:none;color:var(--adb-laranja)}
.jr-pasta-item .jr-ico:last-child{color:var(--texto-fraco);width:13px;height:13px;margin-left:2px}
.jr-pasta-nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-pasta-n{font-size:10.5px;font-weight:700;color:var(--texto-fraco);
            font-variant-numeric:tabular-nums;flex:none}
.jr-pasta-vazio{padding:10px 9px;font-size:12px;color:var(--texto-fraco)}

/* destino escolhido: um campo de verdade, não um texto solto no canto */
.jr-dest-rodape{display:flex;align-items:center;gap:8px}
.jr-dest-atual{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;
               background:var(--card);border:1px solid var(--cinza-borda);
               border-radius:var(--r-sm);padding:7px 11px;min-height:34px}
.jr-dest-atual .jr-ico{width:15px;height:15px;flex:none;color:var(--adb-laranja)}
.jr-dest-rot{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;
             letter-spacing:.07em;color:var(--texto-fraco)}
#a-destino{min-width:0;font-size:12.5px;font-weight:700;color:var(--tinta);
           overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-dest-atual.vazio{border-style:dashed;background:transparent}
.jr-dest-atual.vazio .jr-ico{color:var(--texto-fraco)}
.jr-dest-atual.vazio #a-destino{font-weight:500;color:var(--texto-fraco)}
.jr-dest-rodape .btn-ghost{flex:none}
@media (max-width:520px){
  .jr-dest-rodape{flex-wrap:wrap}
  .jr-dest-atual{flex:1 1 100%}
}

/* ═══════════════ CABEÇALHO: avatar AO LADO do nome ═══════════════ */
/* .top-user vem do styles.css como bloco: o avatar caía em cima do nome.
   Acima de 760px vira linha; abaixo disso o styles.css esconde o conjunto,
   e a media query aqui garante que essa regra não ressuscite no celular. */
@media (min-width:761px){
  .top-user{display:flex;align-items:center;gap:10px;text-align:left;min-width:0}
  .top-user > div{display:flex;flex-direction:column;justify-content:center;
                  line-height:1.2;min-width:0}
  .top-avatar{flex:none}
  .top-uname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
  .top-urole{white-space:nowrap}
}

/* ＋ criar dimensão ao lado do rótulo do campo (dentro do formulário de anexo) */
.jr-form-anexo label{display:flex;align-items:center;gap:8px}
.jr-add{margin-left:auto;background:transparent;border:0;padding:0;cursor:pointer;
        font:inherit;font-size:10.5px;font-weight:700;letter-spacing:.02em;
        color:var(--info);text-transform:none}
.jr-add:hover{text-decoration:underline}

/* ═══════════════ RENOVAÇÃO / SUBSTITUIÇÃO ═══════════════ */
.jr-dot.substituido{background:var(--texto-fraco)}

/* seção "renovação" no formulário de anexo */
.jr-renova{display:flex;flex-direction:column;gap:5px}
.jr-renova .cfg-hint{margin:0}
#a-renova-cx{position:relative}
.jr-renova-sel{display:flex;align-items:center;gap:9px;background:color-mix(in oklab,var(--adb-azul) 7%,var(--card));
  border:1px solid color-mix(in oklab,var(--adb-azul) 30%,transparent);border-radius:var(--r-sm);
  padding:8px 11px;font-size:12.5px;color:var(--texto);min-height:36px}
.jr-renova-sel .jr-ico{width:15px;height:15px;flex:none;color:var(--adb-azul)}
.jr-renova-sel span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-renova-sel b{color:var(--tinta)}
.jr-renova-x{background:transparent;border:0;color:var(--texto-fraco);cursor:pointer;font-size:14px;
  line-height:1;padding:2px 4px;flex:none}
.jr-renova-x:hover{color:var(--err)}
.jr-renova-lista{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:var(--card);
  border:1px solid var(--cinza-borda-2);border-radius:var(--r-sm);box-shadow:var(--s2);
  max-height:230px;overflow:auto;padding:4px}
.jr-renova-op{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:0;
  border-radius:var(--r-sm);padding:7px 9px;cursor:pointer;text-align:left;font:inherit;color:var(--texto)}
.jr-renova-op:hover{background:var(--row-hover)}
.jr-renova-op .jr-dot{flex:none}
.jr-renova-op-t{flex:1;min-width:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-renova-op-sub{flex:none;font-size:10.5px;color:var(--texto-fraco)}
.jr-renova-vazio{padding:9px;font-size:12px;color:var(--texto-fraco)}

/* linha do tempo das versões, no modal de detalhe */
.jr-cadeia{margin-top:14px;padding-top:14px;border-top:1px solid var(--cinza-borda)}
.jr-cadeia-h{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--texto-fraco);margin-bottom:8px}
.jr-cadeia-linha{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.jr-cad-seta{color:var(--texto-fraco);flex:none}
.jr-cad-item{display:inline-flex;align-items:center;gap:6px;max-width:230px;background:var(--surface-2);
  border:1px solid var(--cinza-borda);border-radius:999px;padding:5px 11px;cursor:pointer;
  font:inherit;font-size:11.5px;color:var(--texto)}
.jr-cad-item:hover{border-color:var(--adb-azul);background:var(--card)}
.jr-cad-item.atual{border-color:var(--adb-azul);box-shadow:0 0 0 2px color-mix(in oklab,var(--adb-azul) 18%,transparent)}
.jr-cad-item.vigente{background:color-mix(in oklab,var(--ok) 8%,var(--card))}
.jr-cad-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-cad-tag{flex:none;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
  color:var(--ok);background:color-mix(in oklab,var(--ok) 14%,transparent);border-radius:999px;padding:1px 6px}

/* aviso de campos herdados numa renovação */
.jr-heranca-aviso{background:color-mix(in oklab,var(--adb-azul) 8%,var(--card));
  border:1px solid color-mix(in oklab,var(--adb-azul) 22%,transparent);
  color:var(--tinta);border-radius:var(--r-sm);padding:8px 11px;font-size:11.5px}
.jr-heranca-aviso[hidden]{display:none}

/* status "encerrado" (assunto terminado sem sucessor) */
.jr-dot.encerrado{background:color-mix(in oklab,var(--err) 40%,var(--texto-fraco))}

/* propostas de encerramento/renovação na fila de Validação */
.jr-prop-enc{font-size:12.5px;font-weight:700;color:color-mix(in oklab,var(--err) 55%,var(--texto))}

/* linha já resolvida na fila: fica no lugar, marcada, para não perder o rastro */
tr.jr-tr-ok{background:color-mix(in oklab,var(--ok) 7%,transparent)}
tr.jr-tr-ok td{opacity:.72}
tr.jr-tr-ok td:last-child{opacity:1}
.jr-feito{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;
          font-size:12px;font-weight:700;
          color:color-mix(in oklab,var(--ok) 72%,var(--texto))}

/* pergunta extra quando a data informada já passou */
.jr-passado{margin-top:2px;padding:10px 12px;border-radius:var(--r-sm);
            background:color-mix(in oklab,var(--err) 7%,transparent);
            border:1px solid color-mix(in oklab,var(--err) 26%,transparent)}
.jr-passado-t{font-size:12.5px;font-weight:700;color:color-mix(in oklab,var(--err) 72%,var(--texto));
              margin-bottom:8px}
.jr-passado-ou{margin-top:8px;padding-top:8px;font-size:12px;color:var(--texto-fraco);
               border-top:1px dashed color-mix(in oklab,var(--err) 22%,transparent)}
/* estes rótulos ficam DENTRO de .jr-form, que põe tudo em maiúscula — o texto
   saía gritado. Aqui a tipografia é de frase. */
.jr-form .jr-sit,.jr-form .jr-sit-t,.jr-form .jr-sit-d,.jr-passado-t,.jr-passado-ou{
  text-transform:none;letter-spacing:normal}
.jr-form .jr-sit-t{font-size:13px;font-weight:700;color:var(--tinta)}
.jr-form .jr-sit-d{font-size:11.5px;font-weight:400;color:var(--texto-fraco)}
.jr-sit-mini{padding:7px 10px;background:var(--card)}
.jr-sit-mini .jr-sit-t{font-size:12.5px}
.jr-sit-mini .jr-sit-d{font-size:11px}

/* botão que parece link, para ações secundárias dentro de um modal */
.jr-link{background:transparent;border:0;padding:0;cursor:pointer;font:inherit;
         font-size:12.5px;font-weight:700;color:var(--info);text-decoration:underline}
.jr-link:hover{color:var(--adb-azul)}
.jr-sit-mais{margin-top:14px;padding-top:12px;border-top:1px solid var(--cinza-borda);
             font-size:12.5px;color:var(--texto-fraco);line-height:1.6}
.jr-sit-sep{margin:0 8px;color:var(--cinza-borda-2)}

/* ── cabeçalho da lista: clicar ordena, clicar de novo inverte ── */
.jr-th-ord{cursor:pointer;user-select:none;white-space:nowrap}
.jr-th-ord:hover{color:var(--adb-azul)}
.jr-th-ord.on{color:var(--adb-azul)}
.jr-th-seta{font-size:10px;opacity:.85;margin-left:2px;font-variant-numeric:tabular-nums}

/* ── "Definir situação": escolher o que o documento é ── */
.jr-sit-lista{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.jr-sit{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:start;
        padding:10px 12px;border:1px solid var(--cinza-borda);border-radius:var(--r-sm);
        background:var(--card);cursor:pointer}
.jr-sit:hover{border-color:var(--adb-azul)}
.jr-sit input{margin:2px 0 0;grid-row:1 / span 2}
.jr-sit-t{font-size:13px;font-weight:700;color:var(--tinta)}
.jr-sit-d{font-size:11.5px;color:var(--texto-fraco);line-height:1.45;grid-column:2}
.jr-sit:has(input:checked){border-color:var(--adb-azul);background:var(--surface-2);
                           box-shadow:inset 3px 0 0 var(--adb-azul)}
/* escolha em forma de botão (indicar o documento novo) */
.jr-sit-btn{width:100%;text-align:left;cursor:pointer;font:inherit;
            grid-template-columns:1fr;gap:2px}
.jr-sit-btn:hover{border-color:var(--adb-azul);background:var(--surface-2)}

/* resultado previsto antes de salvar */
.jr-sit-res{margin-top:12px;padding:9px 12px;border-radius:var(--r-sm);
            font-size:12.5px;color:var(--texto);
            background:color-mix(in oklab,var(--info) 9%,transparent);
            border:1px solid color-mix(in oklab,var(--info) 28%,transparent)}
.jr-sit-res .jr-sem{display:inline-flex;align-items:center;gap:5px}

/* faixa de avisos no detalhe do documento (inconsistências antes silenciosas) */
.jr-det-avisos{display:flex;flex-direction:column;gap:6px;margin:10px 0 4px}
.jr-aviso{
  padding:7px 10px;border-radius:8px;font-size:12.5px;line-height:1.45;
  color:color-mix(in oklab,var(--warn) 78%,var(--texto));
  background:color-mix(in oklab,var(--warn) 10%,transparent);
  border:1px solid color-mix(in oklab,var(--warn) 30%,transparent);
  border-left-width:3px;
}

/* etiqueta positiva: a categoria controla vencimento */
.jr-tag-cv{
  display:inline-block;vertical-align:1px;margin-left:4px;
  padding:1px 6px;border-radius:999px;
  font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
  color:color-mix(in oklab,var(--ok) 72%,var(--texto));
  background:color-mix(in oklab,var(--ok) 12%,transparent);
  border:1px solid color-mix(in oklab,var(--ok) 32%,transparent);
}

/* etiqueta de categoria que não controla vencimento (alerta na Validação) */
.jr-tag-nv{
  display:inline-block;vertical-align:1px;margin-left:4px;
  padding:1px 6px;border-radius:999px;
  font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
  color:var(--err);
  background:color-mix(in oklab,var(--err) 12%,transparent);
  border:1px solid color-mix(in oklab,var(--err) 35%,transparent);
}
