/* Mapeamento Brasil — folha de estilo.
   Decisão de design: a tela é uma ferramenta de trabalho, não uma vitrine.
   Uma cor de destaque só (verde), tudo o mais em escala de cinza, e a cor
   reservada para o que exige decisão: nível de dado e grau do WhatsApp.
   Sem sombra, sem gradiente, sem canto muito arredondado — o que sobra de
   ruído visual vira leitura de tabela. */

:root{
  --tinta:#111827;
  --tinta-2:#6b7280;
  --tinta-3:#9ca3af;
  --linha:#e5e7eb;
  --linha-2:#f3f4f6;
  --papel:#ffffff;
  --fundo:#fbfbfc;

  --acento:#4d7c0f;
  --acento-claro:#ecfccb;

  --ouro:#b45309;      --ouro-bg:#fffbeb;
  --prata:#4b5563;     --prata-bg:#f9fafb;
  --bronze:#c2410c;    --bronze-bg:#fff7ed;
  --zap:#0f766e;

  --r:6px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--fundo);
  color:var(--tinta);
  font:14px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}

/* ---------------------------------------------------------------- topo */
.topo{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 32px;height:56px;
  background:var(--papel);border-bottom:1px solid var(--linha);
  position:sticky;top:0;z-index:20;
}
.marca{display:flex;align-items:center;gap:9px;font-weight:650;font-size:15px;letter-spacing:-.01em}
.marca-quadro{width:16px;height:16px;border-radius:4px;background:var(--acento)}
.marca-ponto{color:var(--acento)}
.selo-topo{
  font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--tinta-3);
  text-transform:uppercase;
}

/* ---------------------------------------------------------------- corpo */
.wrap{max-width:1560px;margin:0 auto;padding:36px 32px 64px}
h1{font-size:30px;font-weight:650;letter-spacing:-.025em;margin:0 0 6px}
.sub{color:var(--tinta-2);margin:0 0 26px;max-width:820px;font-size:14px}

.aviso-legal{
  border-left:2px solid var(--linha);
  padding:2px 0 2px 16px;margin:0 0 32px;
  font-size:12.5px;color:var(--tinta-2);max-width:900px;line-height:1.6;
}
.aviso-legal strong{color:var(--tinta);font-weight:600}

/* --------------------------------------------------------------- cartões */
.stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:1px;background:var(--linha);border:1px solid var(--linha);
  border-radius:var(--r);overflow:hidden;margin-bottom:28px;
}
.card{background:var(--papel);padding:16px 18px;text-align:left;
  font:inherit;border:0;width:100%}
.card-click{cursor:pointer;transition:background .12s ease}
.card-click:hover{background:var(--linha-2)}
.card-click:focus-visible{outline:2px solid var(--acento);outline-offset:-2px}
.card-ativo{background:var(--acento-claro)}
.card-ativo .card-rot{color:var(--acento)}
.card-ouro.card-click:hover{background:#fef3c7}
.card-ouro{background:var(--ouro-bg)}
.card-rot{font-size:10px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--tinta-3)}
.card-num{font-size:26px;font-weight:650;letter-spacing:-.02em;line-height:1.25;margin:5px 0 2px;
  font-variant-numeric:tabular-nums}
.card-ouro .card-num{color:var(--ouro)}
.card-sub{font-size:11px;color:var(--tinta-3);line-height:1.4}

/* -------------------------------------------------------------- filtros */
.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.filtros input[type=search]{flex:1 1 320px;min-width:220px}
input,select{
  font:inherit;font-size:13px;color:var(--tinta);
  padding:7px 11px;border:1px solid var(--linha);border-radius:var(--r);
  background:var(--papel);
  transition:border-color .12s ease;
}
select{cursor:pointer}
input:hover,select:hover{border-color:var(--tinta-3)}
input:focus,select:focus{outline:none;border-color:var(--acento);
  box-shadow:0 0 0 3px var(--acento-claro)}
input::placeholder{color:var(--tinta-3)}

.btn-pri,.btn-sec{
  font:inherit;font-size:13px;font-weight:550;padding:7px 14px;
  border-radius:var(--r);cursor:pointer;border:1px solid transparent;
  transition:background .12s ease,border-color .12s ease;
}
.btn-pri{background:var(--acento);color:#fff}
.btn-pri:hover{background:#3f6212}
.btn-pri:disabled{opacity:.55;cursor:wait}
.btn-sec{background:transparent;color:var(--tinta-2);border-color:var(--linha)}
.btn-sec:hover{border-color:var(--tinta-3);color:var(--tinta)}

.aviso{color:var(--tinta-3);font-size:12px;margin:0 0 10px;
  font-variant-numeric:tabular-nums}

/* -------------------------------------------------------------- tabela */
.tabela-wrap{
  background:var(--papel);border:1px solid var(--linha);
  border-radius:var(--r);overflow-x:auto;
}
table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}
thead th{
  text-align:left;font-size:10px;font-weight:600;letter-spacing:.07em;
  text-transform:uppercase;color:var(--tinta-3);
  padding:12px 10px;border-bottom:1px solid var(--linha);
  white-space:nowrap;cursor:pointer;user-select:none;
  background:var(--papel);
}
thead th:hover{color:var(--tinta)}
tbody td{padding:11px 10px;border-bottom:1px solid var(--linha-2);
  vertical-align:top;overflow-wrap:anywhere}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background .1s ease}
tbody tr:hover{background:var(--fundo)}

.c-cnpj{width:124px;font-variant-numeric:tabular-nums;color:var(--tinta-2)}
.c-empresa{width:19%}
.c-empresa strong{font-weight:600}
.c-local{width:104px;color:var(--tinta-2)}
.c-nivel{width:94px}
.c-conf{width:100px}
.c-resp{width:14%}
.c-zap{width:130px}
.c-site{width:13%}
.c-acao{width:78px;text-align:right}

.sub{display:block;font-size:10.5px;color:var(--tinta-3);line-height:1.4;margin-top:2px}
.mail{display:block;font-size:10.5px;text-decoration:none;color:var(--tinta-3)}
.mail:hover{color:var(--tinta-2)}

/* selos: cor só onde há decisão a tomar */
.pill{display:inline-block;padding:2px 7px;border-radius:3px;
  font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.selo-OURO{background:var(--ouro-bg);color:var(--ouro);box-shadow:inset 0 0 0 1px #fcd34d}
.selo-PRATA{background:var(--prata-bg);color:var(--prata);box-shadow:inset 0 0 0 1px var(--linha)}
.selo-BRONZE{background:var(--bronze-bg);color:var(--bronze);box-shadow:inset 0 0 0 1px #fdba74}
.selo-BASE{background:transparent;color:var(--tinta-3);box-shadow:inset 0 0 0 1px var(--linha)}
.conf-ALTA{background:#f0fdf4;color:#15803d;box-shadow:inset 0 0 0 1px #bbf7d0}
.conf-MEDIA{background:transparent;color:var(--tinta-2);box-shadow:inset 0 0 0 1px var(--linha)}
.conf-BAIXA{background:transparent;color:var(--tinta-3);box-shadow:inset 0 0 0 1px var(--linha-2)}
.marca-med{display:block;margin-top:4px;font-size:9px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:#0e7490}

/* faixa lateral: dá para varrer a coluna e ver o nível sem ler */
tbody tr.linha-OURO td:first-child{box-shadow:inset 2px 0 0 var(--ouro)}
tbody tr.linha-PRATA td:first-child{box-shadow:inset 2px 0 0 var(--tinta-3)}
tbody tr.linha-BRONZE td:first-child{box-shadow:inset 2px 0 0 var(--bronze)}

.zap{color:var(--zap);font-weight:600;text-decoration:none;
  font-variant-numeric:tabular-nums}
.zap:hover{text-decoration:underline}
.grau{display:block;font-size:9px;font-weight:600;text-transform:uppercase;
  letter-spacing:.05em;margin-top:2px}
.g-confirmado{color:var(--zap)}
.g-muito-provavel{color:#15803d}
.g-provavel{color:var(--tinta-3)}
.g-incerto{color:#b45309}
.g-so-tentando{color:#d1d5db}

.site{text-decoration:none;color:#1d4ed8}
.site:hover{text-decoration:underline}

.btn-det{font:inherit;font-size:11px;padding:4px 10px;border-radius:4px;
  border:1px solid var(--linha);background:transparent;color:var(--tinta-3);
  cursor:pointer;transition:all .12s ease}
.btn-det:hover{border-color:var(--acento);color:var(--acento)}
.vazio{padding:56px;text-align:center;color:var(--tinta-3)}

/* ---------------------------------------------------------- paginação */
.paginacao{display:flex;gap:5px;align-items:center;flex-wrap:wrap;padding:18px 0}
.pg{font:inherit;font-size:12.5px;padding:6px 11px;border-radius:var(--r);
  border:1px solid var(--linha);background:var(--papel);color:var(--tinta-2);
  cursor:pointer;font-variant-numeric:tabular-nums;transition:all .12s ease}
.pg:hover{border-color:var(--tinta-3);color:var(--tinta)}
.pg-atual{background:var(--tinta);border-color:var(--tinta);color:#fff;cursor:default}
.pg-atual:hover{background:var(--tinta);color:#fff}
.pg-info{font-size:11.5px;color:var(--tinta-3);margin-left:8px}

.rodape{padding:28px 0 0;margin-top:8px;border-top:1px solid var(--linha);
  font-size:11.5px;color:var(--tinta-3);line-height:1.7}

/* ------------------------------------------------------------- modal */
/* display:flex sobrepoe o atributo hidden do HTML -- precisa ser explicito */
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;background:rgba(17,24,39,.55);
  display:flex;align-items:center;justify-content:center;padding:24px;z-index:60;
  backdrop-filter:blur(2px)}
.modal-caixa{background:var(--papel);border-radius:8px;max-width:860px;width:100%;
  max-height:86vh;display:flex;flex-direction:column;overflow:hidden}
.modal-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:18px 22px;border-bottom:1px solid var(--linha)}
.modal-topo h2{margin:0;font-size:15px;font-weight:600;line-height:1.4}
.modal-topo button{font:inherit;font-size:15px;border:0;background:none;
  cursor:pointer;color:var(--tinta-3);padding:2px 6px;border-radius:4px}
.modal-topo button:hover{color:var(--tinta);background:var(--linha-2)}
.modal-corpo{padding:6px 22px 22px;overflow-y:auto}
.campo{display:grid;grid-template-columns:184px 1fr;gap:16px;padding:9px 0;
  border-bottom:1px solid var(--linha-2);font-size:12.5px}
.campo:last-child{border-bottom:0}
.campo-rot{color:var(--tinta-3);font-weight:500}
.campo-val{overflow-wrap:anywhere}

@media (max-width:960px){
  .topo{padding:0 18px}
  .wrap{padding:22px 18px 48px}
  h1{font-size:24px}
  .campo{grid-template-columns:1fr;gap:2px}
}


/* blocos do modal */
.grupo-tit{margin:18px 0 6px;font-size:10px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--acento);padding-top:10px;
  border-top:1px solid var(--linha)}
.grupo-tit:first-child{margin-top:4px;border-top:0;padding-top:0}

/* painel de exportacao em PDF */
.pdf-caixa{position:fixed;inset:0;background:rgba(17,24,39,.55);display:flex;
  align-items:center;justify-content:center;padding:24px;z-index:70;
  backdrop-filter:blur(2px)}
.pdf-caixa[hidden]{display:none}
.pdf-painel{background:var(--papel);border-radius:8px;max-width:520px;width:100%;
  padding:24px}
.pdf-painel h2{margin:0 0 4px;font-size:16px;font-weight:600}
.pdf-sub{margin:0 0 18px;font-size:12.5px;color:var(--tinta-2)}
.pdf-campo{display:block;font-size:11.5px;color:var(--tinta-2);margin-bottom:16px}
.pdf-campo input{width:100%;margin-top:5px}
.pdf-rot{margin:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--tinta-3)}
.pdf-cols{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin-bottom:20px}
.pdf-cols label{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer}
.pdf-cols input{margin:0;accent-color:var(--acento)}
.pdf-acoes{display:flex;gap:8px;justify-content:flex-end}


/* painel de progresso */
.status{background:var(--papel);border:1px solid var(--linha);border-radius:var(--r);
  margin-bottom:14px;overflow:hidden}
.status summary{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;cursor:pointer;list-style:none;font-size:12.5px}
.status summary::-webkit-details-marker{display:none}
.status summary::before{content:"▸";color:var(--tinta-3);margin-right:2px;
  transition:transform .15s ease}
.status[open] summary::before{transform:rotate(90deg)}
.status summary:hover{background:var(--linha-2)}
.status-tit{font-weight:600}
.status-resumo{color:var(--tinta-2);font-variant-numeric:tabular-nums}
.status-corpo{padding:6px 16px 18px;border-top:1px solid var(--linha)}

.barra-linha{padding:9px 0}
.barra-topo{display:flex;justify-content:space-between;align-items:baseline;
  gap:12px;margin-bottom:4px}
.barra-rot{font-size:12px;font-weight:500}
.barra-num{font-size:11px;color:var(--tinta-2);font-variant-numeric:tabular-nums;
  white-space:nowrap}
.barra-trilho{height:5px;background:var(--linha-2);border-radius:3px;overflow:hidden}
.barra-cheio{height:100%;border-radius:3px;transition:width .4s ease}
.b-alto{background:var(--acento)}
.b-medio{background:#f59e0b}
.b-baixo{background:#d1d5db}
.b-job{background:#0ea5e9}
.barra-fonte{font-size:10.5px;color:var(--tinta-3);margin-top:3px}
.jobs-tit{margin:18px 0 2px;font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--acento);padding-top:12px;
  border-top:1px solid var(--linha)}
.status-pe{margin-top:14px;font-size:10.5px;color:var(--tinta-3)}


/* ganho ainda nao publicado */
.em-voo .barra-rot{color:#0369a1}
.em-voo .barra-num{color:#0369a1;font-weight:700}
.status-nota{font-size:11px;color:var(--tinta-3);padding:4px 0 10px;
  border-bottom:1px solid var(--linha-2);margin-bottom:4px}


/* =================================================== abas e poder público
   Segunda cor da folha, e só aqui: dinheiro público é outra natureza de
   informação e merece separar-se do verde do enriquecimento. Continua sendo
   uma cor só por aba, sem gradiente e sem sombra. */
:root{
  --pub:#1e40af;
  --pub-claro:#eff6ff;
  --pub-linha:#bfdbfe;
}

.abas{display:flex;gap:2px;margin:0 0 26px;border-bottom:1px solid var(--linha)}
.aba{
  font:inherit;font-size:13.5px;font-weight:550;color:var(--tinta-3);
  background:none;border:0;border-bottom:2px solid transparent;
  padding:9px 16px 10px;cursor:pointer;margin-bottom:-1px;
  display:flex;align-items:center;gap:8px;
  transition:color .12s ease,border-color .12s ease;
}
.aba:hover{color:var(--tinta)}
.aba-ativa{color:var(--pub);border-bottom-color:var(--pub)}
.aba[data-aba="empresas"].aba-ativa{color:var(--acento);border-bottom-color:var(--acento)}
.aba-num{
  font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;
  background:var(--linha-2);color:var(--tinta-3);
  padding:1px 6px;border-radius:9px;letter-spacing:.02em;
}
.aba-ativa .aba-num{background:var(--pub-claro);color:var(--pub)}

.card-pub{background:var(--pub-claro)}
.card-pub .card-num{color:var(--pub)}
.card-pub .card-rot{color:#60a5fa}

.nota-colheita{display:block;margin-top:6px;color:var(--tinta-3);font-size:11.5px}

/* --------------------------------------------------- grade da aba pública */
.pub-grade{display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:20px;
  align-items:start}
.pub-lista{min-width:0}
.pub-orgaos{
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--r);
  padding:16px 16px 8px;position:sticky;top:76px;max-height:calc(100vh - 100px);
  overflow-y:auto;
}
.pub-tit{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--pub)}
.pub-sub{margin:0 0 14px;font-size:11.5px;color:var(--tinta-3);line-height:1.5}

.orgao{
  display:block;width:100%;text-align:left;font:inherit;
  background:none;border:0;border-top:1px solid var(--linha-2);
  padding:10px 0 11px;cursor:pointer;
}
.orgao:first-of-type{border-top:0}
.orgao:hover .orgao-nome{color:var(--pub)}
.orgao-topo{display:flex;justify-content:space-between;align-items:baseline;
  gap:10px;margin-bottom:5px}
.orgao-nome{font-size:11.5px;font-weight:550;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden}
.orgao-val{font-size:11px;font-weight:700;color:var(--pub);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.orgao-pe{font-size:10px;color:var(--tinta-3);margin-top:4px}
.b-pub{background:var(--pub)}

/* --------------------------------------------------- tabela do ranking */
#pub-tabela .p-pos{width:40px;color:var(--tinta-3);
  font-variant-numeric:tabular-nums;font-size:11px}
#pub-tabela .c-empresa{width:28%}
#pub-tabela .c-local{width:120px}
#pub-tabela .p-qtd{width:80px;font-variant-numeric:tabular-nums}
#pub-tabela .p-valor{width:130px;font-variant-numeric:tabular-nums}
#pub-tabela .p-orgaos{width:70px;color:var(--tinta-2);
  font-variant-numeric:tabular-nums}
#pub-tabela .c-zap{width:140px}
#pub-tabela .c-acao{width:96px}
#pub-tabela thead th[data-pordem]{cursor:pointer}
.valor-forte{color:var(--pub);font-weight:650;font-size:13px}
#pub-tabela tbody tr:hover{background:var(--pub-claro)}

/* selo na lista geral: a empresa que já vende ao governo aparece marcada */
.selo-pub{
  display:inline-block;margin-top:4px;font-size:9px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--pub);
  background:var(--pub-claro);padding:2px 6px;border-radius:3px;
  box-shadow:inset 0 0 0 1px var(--pub-linha);
}

/* -------------------------------------------- contratos dentro do modal */
.ct-resumo{padding:12px 0 4px;font-size:12.5px;color:var(--tinta-2)}
.ct-forte{font-size:20px;font-weight:650;color:var(--pub);
  letter-spacing:-.02em;margin-right:6px;font-variant-numeric:tabular-nums}
.ct{padding:11px 0;border-bottom:1px solid var(--linha-2)}
.ct:last-of-type{border-bottom:0}
.ct-topo{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.ct-orgao{font-size:12.5px;font-weight:600;line-height:1.4}
.ct-valor{font-size:12.5px;font-weight:650;color:var(--pub);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.ct-objeto{font-size:11.5px;color:var(--tinta-2);margin-top:4px;line-height:1.5}
.ct-pe{font-size:10.5px;color:var(--tinta-3);margin-top:4px;
  font-variant-numeric:tabular-nums}
.ct-mais{margin-top:18px}

@media (max-width:1180px){
  .pub-grade{grid-template-columns:1fr}
  .pub-orgaos{position:static;max-height:none;order:-1}
}

/* Com table-layout:fixed a largura vem da PRIMEIRA linha, ou seja do thead --
   largura posta no <td> e simplesmente ignorada. Foi o que espremeu o nome da
   empresa em quatro linhas. Aqui vai onde o navegador de fato olha. */
#pub-tabela th:nth-child(1){width:44px}
#pub-tabela th:nth-child(2){width:31%}
#pub-tabela th:nth-child(3){width:118px}
#pub-tabela th:nth-child(4){width:84px}
#pub-tabela th:nth-child(5){width:136px}
#pub-tabela th:nth-child(6){width:72px}
#pub-tabela th:nth-child(7){width:136px}
#pub-tabela th:nth-child(8){width:104px}

/* natureza do valor do contrato: o leitor precisa ver de imediato que aquele
   numero grande nao e dinheiro que a empresa recebeu */
.ct-marca{display:inline-block;margin-top:5px;font-size:10px;line-height:1.45;
  padding:3px 8px;border-radius:3px;font-weight:600}
.ct-teto{background:#fffbeb;color:#92400e;box-shadow:inset 0 0 0 1px #fde68a}
.ct-revisar{background:#fef2f2;color:#b91c1c;box-shadow:inset 0 0 0 1px #fecaca}
.nota-colheita strong{color:var(--tinta-2)}

/* alternador do painel lateral: comprador de um lado, vendedor do outro */
.mini-abas{display:flex;gap:2px;margin:-2px 0 12px;border-bottom:1px solid var(--linha)}
.mini-aba{
  font:inherit;font-size:10px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--tinta-3);background:none;border:0;
  border-bottom:2px solid transparent;padding:4px 8px 8px;cursor:pointer;
  margin-bottom:-1px;transition:color .12s ease,border-color .12s ease;
}
.mini-aba:hover{color:var(--tinta-2)}
.mini-ativa{color:var(--pub);border-bottom-color:var(--pub)}

/* linha de ranking dentro do modal */
.rk{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:baseline;
  padding:9px 0;border-bottom:1px solid var(--linha-2)}
.rk:last-child{border-bottom:0}
.rk-pos{font-size:11px;color:var(--tinta-3);font-variant-numeric:tabular-nums;
  text-align:right}
.rk-meio{min-width:0}
.rk-nome{font-size:12.5px;font-weight:550;line-height:1.4}
.rk-pe{font-size:10.5px;color:var(--tinta-3);margin-top:3px;
  font-variant-numeric:tabular-nums}
.rk-val{font-size:12.5px;font-weight:650;color:var(--pub);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.rk-click{cursor:pointer;margin:0 -10px;padding-left:10px;padding-right:10px;
  border-radius:4px;transition:background .1s ease}
.rk-click:hover{background:var(--pub-claro)}
.rk-click:hover .rk-nome{color:var(--pub)}

/* "de quem e cada numero" tem uma linha por telefone; sem isto vira paragrafo */
.campo-val{white-space:pre-line}

/* ================================================== licitações abertas
   Única aba onde a informação tem validade. O prazo é o dado mais importante
   da linha, então ele vem primeiro e é a única coisa que ganha vermelho na
   folha inteira — vermelho aqui significa "decide esta semana", não "erro". */
.card-urg{background:#fef2f2}
.card-urg .card-num{color:#b91c1c}
.card-urg .card-rot{color:#f87171}

.lic-lista{display:flex;flex-direction:column;gap:1px;background:var(--linha);
  border:1px solid var(--linha);border-radius:var(--r);overflow:hidden}
.lic{background:var(--papel);padding:14px 18px 15px}
.lic:hover{background:var(--fundo)}

.lic-topo{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.lic-espaco{flex:1}
.lic-prazo{font-size:11px;font-weight:700;letter-spacing:.03em;white-space:nowrap}
.p-urgente{color:#b91c1c}
.p-medio{color:#b45309}
.p-folgado{color:var(--tinta-2)}
.p-sem{color:var(--tinta-3);font-weight:500}
.lic-data{font-size:10.5px;color:var(--tinta-3);font-variant-numeric:tabular-nums}
.lic-valor{font-size:12.5px;font-weight:650;color:var(--pub);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.grau-forte{background:var(--acento-claro);color:var(--acento);
  box-shadow:inset 0 0 0 1px #bef264}
.grau-provavel{background:transparent;color:var(--tinta-3);
  box-shadow:inset 0 0 0 1px var(--linha)}
.lic-srp{background:var(--pub-claro);color:var(--pub);
  box-shadow:inset 0 0 0 1px var(--pub-linha)}

.lic-objeto{margin:0 0 7px;font-size:12.5px;line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden}
.lic-pe{font-size:11px;color:var(--tinta-3);line-height:1.5}
.lic-pe strong{color:var(--tinta-2);font-weight:600}
.lic-link{display:inline-block;margin-top:8px;font-size:11.5px;font-weight:550;
  color:var(--pub);text-decoration:none}
.lic-link:hover{text-decoration:underline}

/* explicação do filtro, dentro do aviso legal */
.nota-colheita .grau-forte,.nota-colheita .grau-prov{
  font-weight:700;padding:1px 5px;border-radius:3px;font-size:10.5px}
.nota-colheita .grau-forte{background:var(--acento-claro);color:var(--acento)}
.nota-colheita .grau-prov{background:var(--linha-2);color:var(--tinta-2)}
