/* Central de oportunidades: cores do tema existente, sem fontes ou imagens externas. */
#vista-oportunidades { max-width: 1440px; margin-inline: auto; }
#vista-oportunidades [hidden] { display: none !important; }
.op-cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.op-cabecalho h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 650; letter-spacing: -.04em; margin: 0 0 8px; }
.op-cabecalho .sub { margin: 0; max-width: 740px; }
.op-cabecalho > button { flex-shrink: 0; }
.op-sobrancelha { font-size: 10px; letter-spacing: .15em; color: var(--ciano); font-weight: 750; margin: 0 0 10px; }
.op-suave { font-size: 12px; color: var(--tinta-2); overflow-wrap: anywhere; }
.op-cobertura { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; align-items: start; }
.op-fonte { min-width: 0; background: var(--sup); border: 1px solid var(--borda); border-radius: var(--r-p); padding: 14px; }
.op-fonte summary { cursor: pointer; }
.op-fonte summary > strong { display: block; font-size: 13px; margin-bottom: 8px; }
.op-fonte summary > .op-suave { display: block; font-size: 10.5px; margin-top: 8px; }
.op-fonte p, .op-fonte li { font-size: 12px; overflow-wrap: anywhere; }
.op-fonte .op-pares { grid-template-columns: 1fr; }
.op-particoes { max-height: 190px; overflow-y: auto; padding-left: 18px; }
.op-limites { color: var(--tinta-2); font-size: 12px; margin-top: 10px; }
.op-limites summary { cursor: pointer; width: fit-content; }
.op-limites li { margin-bottom: 5px; }
.op-abas { display: flex; gap: 8px; border-bottom: 1px solid var(--borda); margin: 28px 0 20px; padding-bottom: 8px; }
.op-abas button { border-radius: 6px; font-size: 13px; min-height: 42px; }
.op-abas button[aria-selected="true"] { color: var(--ciano); border-color: var(--ciano); background: var(--ciano-glow); font-weight: 700; }
.op-filtros { display: grid; grid-template-columns: minmax(200px,2fr) repeat(3,minmax(125px,1fr)); gap: 12px; background: var(--sup); border: 1px solid var(--borda); border-radius: var(--r); padding: 18px; }
.op-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.op-campo label, .op-escolhas legend { font-size: 12px; color: var(--tinta-2); font-weight: 600; }
.op-campo input, .op-campo select, .op-campo textarea { width: 100%; min-width: 0; min-height: 42px; border: 1px solid var(--borda-2); border-radius: 6px; background: var(--fundo-2); color: var(--tinta); font: inherit; font-size: 13px; padding: 10px 12px; }
.op-campo textarea { resize: vertical; }
.op-campo small { font-weight: 400; line-height: 1.45; }
.op-campo input:focus-visible, .op-campo select:focus-visible, .op-campo textarea:focus-visible, #vista-oportunidades button:focus-visible, #vista-oportunidades summary:focus-visible, #vista-oportunidades a:focus-visible { outline: 2px solid var(--ciano); outline-offset: 3px; }
.op-acoes { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.op-filtros > .op-acoes { align-self: end; min-height: 42px; }
.op-acoes button { min-height: 42px; }
.op-resumo { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--borda); border: 1px solid var(--borda); border-radius: var(--r-p); overflow: hidden; margin-top: 22px; }
.op-resumo:empty { display: none; }
.op-indicador { padding: 15px 18px; background: var(--sup); display: flex; flex-direction: column; gap: 5px; }
.op-indicador span { font-size: 11.5px; color: var(--tinta-2); }
.op-indicador strong { font-family: var(--mono); font-size: 25px; font-weight: 600; line-height: 1.3; }
.op-estado { font-size: 12px; color: var(--tinta-2); margin-block: 14px; }
.op-lista { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: start; }
.op-item { border: 1px solid var(--borda); border-radius: var(--r); padding: 22px; min-width: 0; background: var(--sup); box-shadow: 0 1px 2px rgb(0 0 0 / 3%); }
.op-item.op-revisao { border-left: 3px solid var(--ambar); }
.op-item h3 { font-size: 16px; line-height: 1.5; margin: 14px 0 8px; letter-spacing: -.015em; overflow-wrap: anywhere; }
.op-item .op-acoes { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--borda); }
.op-etiquetas, .op-item-dados { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.op-item-dados { gap: 12px; margin-top: 16px; }
.op-valor { font-size: 20px; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.op-selo { border: 1px solid var(--borda); background: var(--sup-2); color: var(--tinta-2); border-radius: 4px; padding: 3px 7px; font-size: 10.5px; line-height: 1.5; font-weight: 600; max-width: 100%; }
.op-selo.op-verde { color: var(--verde); background: var(--verde-glow); border-color: currentColor; }
.op-selo.op-ambar { color: var(--ambar); background: var(--ambar-glow); border-color: currentColor; }
.op-selo.op-vermelho { color: var(--vermelho); background: var(--vermelho-glow); border-color: currentColor; }
.op-link { color: var(--ciano); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.op-trecho { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.65; }
.op-item .op-trecho { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.op-alerta { padding: 12px; background: var(--ambar-glow); border-left: 3px solid var(--ambar); color: var(--tinta); font-size: 12px; overflow-wrap: anywhere; }
.op-vazio { background: var(--sup); border: 1px dashed var(--borda-2); padding: 35px; color: var(--tinta-2); border-radius: var(--r); }
.op-lista > .op-alerta, .op-lista > .op-vazio, .op-lista > .op-historico, .op-lista > .op-perfil { grid-column: 1 / -1; }
.op-dialogo { width: min(860px,calc(100vw - 32px)); max-width: 860px; max-height: 90dvh; padding: 26px; color: var(--tinta); background: var(--sup); }
.op-dialogo-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--borda); padding-bottom: 14px; margin-bottom: 20px; }
.op-dialogo-topo h2 { margin: 0; font-size: 20px; }
#op-detalhe h3 { font-size: 20px; line-height: 1.45; overflow-wrap: anywhere; }
.op-pares { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-block: 22px; }
.op-pares > div { min-width: 0; }
.op-pares dt { font-size: 11px; color: var(--tinta-2); }
.op-pares dd { margin: 4px 0 0; font-size: 13px; overflow-wrap: anywhere; }
.op-forma { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-block: 24px; border: 1px solid var(--borda); border-radius: var(--r-p); padding: 20px; background: var(--sup-2); }
.op-forma > h3, .op-forma > h4, .op-forma > p, .op-forma > .op-acoes, .op-forma > fieldset { grid-column: 1 / -1; margin-block: 0; }
.op-forma h4 { font-size: 15px; }
.op-forma .op-recado:empty { display: none; }
.op-forma .op-recado { font-size: 13px; color: var(--tinta); overflow-wrap: anywhere; }
.op-forma .op-recado[role="alert"] { color: var(--vermelho); }
.op-forma :disabled { opacity: .75; cursor: default; }
.op-escolhas { padding: 10px 0; border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.op-escolhas label { display: flex; align-items: center; gap: 7px; border: 1px solid var(--borda-2); border-radius: 5px; padding: 7px 9px; background: var(--sup); font-size: 12px; cursor: pointer; }
.op-escolhas label:has(:checked) { border-color: var(--ciano); color: var(--ciano); background: var(--ciano-glow); }
.op-escolhas input { width: 15px; height: 15px; margin: 0; accent-color: var(--ciano); }
.op-perfil { margin-top: 0; background: var(--sup); }
.op-historico { border-top: 1px solid var(--borda); padding-top: 16px; margin-top: 18px; font-size: 13px; }
.op-historico summary { font-weight: 600; cursor: pointer; color: var(--tinta-2); }
.op-registro { padding: 15px 0; border-bottom: 1px solid var(--borda); }
.op-registro h4 { margin-top: 0; }
@media (max-width: 1100px) {
  .op-cobertura { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .op-filtros { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  /* O cabeçalho compartilhado tinha ações fora da tela estreita. A regra
     fica restrita a esta vista, preservando o lote de acesso em outra sessão. */
  body:has(#vista-oportunidades:not([hidden])) .topo .quem { flex-wrap: wrap; min-width: 0; max-width: 100%; }
  .op-cabecalho { align-items: flex-start; flex-direction: column; gap: 12px; }
  .op-lista { grid-template-columns: 1fr; }
  .op-filtros { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .op-filtros > .op-campo:first-child { grid-column: 1 / -1; }
  .op-resumo { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .op-item { padding: 18px; }
  .op-dialogo { padding: 18px; }
  .op-abas { gap: 4px; }
  .op-abas button { padding: 8px; font-size: 12px; }
}
@media (max-width: 440px) {
  .op-cobertura { grid-template-columns: 1fr; }
  .op-fonte { padding: 10px 12px; }
  .op-fonte summary > strong { display: inline-block; margin: 0 8px 0 0; }
  .op-forma, .op-pares { grid-template-columns: 1fr; }
  .op-forma { padding: 14px; }
  .op-abas { flex-wrap: wrap; }
  .op-filtros { padding: 12px; }
  .op-filtros > .op-acoes { grid-column: 1 / -1; }
}

/* ── Acervo técnico (0053) ── */
.op-lista > .ac-bloco { grid-column: 1 / -1; }
.ac-bloco h3 { margin-top: 0; }
.ac-certidoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap: 8px; }
.ac-certidao { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: var(--r-p); background: var(--sup-2); }
.ac-certidao strong { font-size: 13px; flex: 1 1 100%; }
.ac-certidao.ac-vencida { border-left: 3px solid var(--vermelho); }
.ac-certidao.ac-renovar { border-left: 3px solid var(--ambar); }
.ac-obs { display: block; flex: 1 1 100%; font-size: 11.5px; line-height: 1.5; }
.ac-rolagem { overflow-x: auto; }
.ac-tabela { width: 100%; border-collapse: collapse; font-size: 13px; }
.ac-tabela th { text-align: left; font-size: 11px; font-weight: 600; color: var(--tinta-2); border-bottom: 1px solid var(--borda); padding: 8px 10px; white-space: nowrap; }
.ac-tabela td { border-bottom: 1px solid var(--borda); padding: 8px 10px; vertical-align: top; }
.ac-tabela tr.ac-so-a-conferir td { color: var(--tinta-2); }
.ac-num { font-family: var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ac-tabela td.ac-num, .ac-tabela th:not(:first-child) { text-align: right; }
.ac-quantitativos { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ac-quantitativos li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; padding: 8px 0; border-bottom: 1px dashed var(--borda); font-size: 13px; }
.ac-quantitativos li > span:first-child { flex: 1 1 200px; }
.ac-quantitativos li.ac-divergente { border-left: 3px solid var(--ambar); padding-left: 10px; }
.op-item h4 { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--tinta-2); margin: 18px 0 6px; }
.op-item.ac-outra-empresa { border-style: dashed; }
