/* Consulta de certificados por e-mail. Neutra: herda fonte e cor do tema, que pode refinar. */
.cm-lookup { font: inherit; color: inherit; max-width: 960px; margin: 0 auto; }
.cm-lookup-label { display: block; font-weight: 600; margin-bottom: 6px; }
.cm-lookup-row { display: flex; flex-wrap: wrap; gap: 8px; }
.cm-lookup-input { flex: 1 1 260px; min-height: 44px; font: inherit; padding: 10px 12px; border: 1px solid #94a3b8; border-radius: 8px; background: #fff; color: #1e293b; }
.cm-lookup-input[aria-invalid="true"] { border-color: #b91c1c; }
.cm-lookup-submit { min-height: 44px; font: inherit; font-weight: 600; padding: 10px 20px; border: 0; border-radius: 8px; background: #1e293b; color: #fff; cursor: pointer; }
.cm-lookup-error { color: #b91c1c; margin: 6px 0 0; }
.cm-lookup-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.cm-lookup-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cm-lookup-result { margin-top: 24px; }
.cm-lookup-summary { font-weight: 600; margin: 0 0 12px; overflow-wrap: anywhere; }
.cm-lookup-table { width: 100%; border-collapse: collapse; }
.cm-lookup-table th, .cm-lookup-table td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid rgba(0, 0, 0, .12); }
.cm-lookup-table th { font-size: .8em; letter-spacing: .05em; text-transform: uppercase; opacity: .75; }
.cm-lookup-link { font-weight: 600; white-space: nowrap; }
.cm-lookup-empty, .cm-lookup-limited { padding: 16px 20px; border-radius: 8px; background: rgba(0, 0, 0, .04); }
.cm-lookup-limited { margin: 0; }
.cm-lookup-empty-title { font-weight: 600; margin: 0 0 8px; }
.cm-lookup-empty ul { margin: 0; padding-left: 1.2em; }

/* Celular: cada linha da tabela vira um cartão, com o rótulo antes do valor */
@media (max-width: 640px) {
  .cm-lookup-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .cm-lookup-table, .cm-lookup-table tbody, .cm-lookup-table tr, .cm-lookup-table td { display: block; width: 100%; }
  .cm-lookup-table tr { border: 1px solid rgba(0, 0, 0, .12); border-radius: 8px; padding: 8px 14px; margin-bottom: 12px; }
  .cm-lookup-table td { border: 0; padding: 4px 0; }
  .cm-lookup-table td[data-label]::before { content: attr(data-label); display: block; font-size: .75em; letter-spacing: .05em; text-transform: uppercase; opacity: .7; }
}
