/* API Empresas (/api-rural), documentação da API Rural (/ApiDocs) e da API de mapas (/ApiDocumentacao). Fase 2, lote C. */

.up-api code { color: var(--text-1); font-family: var(--mono); font-size: .9em; }
.up-api a:not(.u-btn) { color: var(--accent-data-ink); text-underline-offset: 2px; }
.up-api-lead { max-width: 720px; margin: 8px 0 0; color: var(--text-2); font-size: 15px; line-height: 1.6; }
.up-api-nota { margin: 10px 0 0; color: var(--text-3); font-size: 12.5px; line-height: 1.55; }

/* seções em cartão */
.up-api-sec { padding: 18px 20px 20px; color: var(--text-2); font-size: 14px; line-height: 1.6; scroll-margin-top: 80px; }
.up-api-sec > :first-child { margin-top: 0; }
.up-api-sec > :last-child { margin-bottom: 0; }
.up-api-sec h2,
.up-api-grupo > h2 { margin: 0 0 10px; color: var(--text-1); font-family: var(--font); font-size: 17px; font-weight: 600; line-height: 1.3; }
.up-api-sec h2 > i { margin-right: 6px; color: var(--text-3); font-size: 14px; }
.up-api-sec h3 { margin: 18px 0 8px; color: var(--text-1); font-size: 14px; font-weight: 600; }
.up-api-sec h4 { margin: 0 0 10px; color: var(--text-1); font-size: 13.5px; font-weight: 600; }
.up-api-sec p { margin: 0 0 10px; }
.up-api-sec ol,
.up-api-sec ul { margin: 0 0 10px; padding: 0 0 0 20px; }
.up-api-sec ol { list-style: decimal; }
.up-api-sec ul { list-style: disc; }
.up-api-sec strong { color: var(--text-1); font-weight: 600; }
.up-api-sec .u-pre { margin: 0 0 12px; }
.up-api-sec .u-alert { margin: 0 0 12px; }
.up-api-sec .u-alert > div,
.up-api-sec .u-alert > strong { min-width: 0; }

/* API Empresas */
.up-api-itens { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; }
.up-api-itens4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.up-api-itens > article { padding: 12px 0; border-top: 1px solid var(--border-1); }
.up-api-itens h3 { margin: 0 0 4px; }
.up-api-itens p { margin: 0; }
.up-api-passos { display: grid; gap: 6px; list-style: decimal; }
.up-api-passos li::marker { color: var(--text-3); }
.up-api-contato { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; }
.up-api-contato > div:first-child { flex: 1 1 380px; }
.up-api-fone { color: var(--text-1); font-family: var(--mono); font-size: 13px; }
.up-api-fone > i { margin-right: 6px; color: var(--text-3); }
.up-api-contato-acoes { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.up-api-contato-acoes .up-api-nota { max-width: 300px; margin: 0; }

/* documentação com sumário fixo */
.up-api-doc { display: grid; grid-template-columns: minmax(200px, 250px) minmax(0, 1fr); gap: 16px; align-items: start; }
.up-api-toc { position: sticky; top: 76px; max-height: calc(100vh - 96px); overflow: auto; }
.up-api-toc-in { padding: 14px 10px 12px; }
.up-api-toc-h { margin: 0 8px 8px; color: var(--text-1); font-family: var(--font); font-size: 13.5px; font-weight: 600; }
.up-api-toc nav { display: grid; }
.up-api-toc nav a { display: block; padding: 5px 8px; border-radius: var(--r-sm); color: var(--text-2); font-size: 12.5px; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.up-api-toc nav a:hover,
.up-api-toc nav a:focus-visible { background: var(--surface-2); color: var(--text-1); }
.up-api-corpo { display: grid; gap: 16px; min-width: 0; }
.up-api-corpo > .u-ph { margin-bottom: 0; }

/* barra de testes */
.up-api-try-linha { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.up-api-try-linha .u-field { flex: 1 1 220px; }
.up-api-cresce { flex-grow: 2; }
.up-api-try-linha .up-api-cresce { flex: 2 1 280px; }
.up-api-ia { color: var(--text-2); font-size: 13px; }
.up-api-ia strong { margin-right: 4px; }

/* tabelas */
.up-api-tw { padding: 0; margin: 0 0 12px; }
.up-api-tab { min-width: 540px; }
.up-api-tab td { white-space: normal; vertical-align: top; line-height: 1.5; }
.up-api-tab td:first-child { white-space: nowrap; }

/* endpoints */
.up-api-grupo { display: grid; gap: 10px; min-width: 0; }
.up-api-apoio { margin: 18px 0 0; color: var(--text-1); font-size: 15px; font-weight: 600; scroll-margin-top: 80px; }
.up-api-grupo > .up-api-nota { margin: 0; }
.up-api-ep { scroll-margin-top: 80px; }
.up-api-ep-sum { display: flex; align-items: center; gap: 8px 10px; flex-wrap: wrap; padding: 12px 18px; cursor: pointer; list-style: none; }
.up-api-ep-sum::-webkit-details-marker { display: none; }
.up-api-ep-sum::before { content: "\203A"; color: var(--text-3); font-size: 16px; line-height: 1; transition: transform .15s; }
.up-api-ep[open] > .up-api-ep-sum::before { transform: rotate(90deg); }
.up-api-ep-sum > code { color: var(--text-1); font-size: 13px; overflow-wrap: anywhere; }
.up-api-ep-ds { flex: 1 1 260px; color: var(--text-3); font-size: 12.5px; }
.up-api-preco { font-family: var(--mono); }
.up-api-ep-corpo { padding: 4px 18px 18px; border-top: 1px solid var(--border-1); color: var(--text-2); font-size: 14px; line-height: 1.6; }
.up-api-ep-corpo h3 { margin: 16px 0 8px; color: var(--text-1); font-size: 13.5px; font-weight: 600; }
.up-api-ep-corpo p { margin: 12px 0; }
.up-api-ep-corpo .u-pre { margin: 0 0 12px; }

/* método HTTP */
.up-api-m { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border: 1px solid var(--border-2); border-radius: var(--r-sm); font-family: var(--mono); font-size: 11px; font-weight: 600; }
.up-api-get { color: var(--green-ink); }
.up-api-post { color: var(--accent-data-ink); }
.up-api-put { color: var(--amber-ink); }

/* painel "Executar" */
.up-api-painel { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--border-2); }
.up-api-campos { display: flex; gap: 10px; flex-wrap: wrap; }
.up-api-campos .u-field { flex: 1 1 140px; }
.up-api-campos .up-api-cresce { flex: 2 1 240px; }
.up-api-acoes { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.up-api-status { color: var(--text-3); font-family: var(--mono); font-size: 11.5px; overflow-wrap: anywhere; }
.up-api-status.up-api-ok { color: var(--green-ink); }
.up-api-status.up-api-erro { color: var(--red-ink); }
.up-api-saida { max-height: 420px; margin: 0; padding: 12px 14px; overflow: auto; border: 1px solid var(--border-1); border-radius: var(--r-md); background: var(--surface-2); color: var(--text-1); font-family: var(--mono); font-size: 11.5px; line-height: 1.55; white-space: pre; }
.up-api-baixar { margin-left: 6px; }

/* exemplos de código */
.up-api-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.up-api-ex { min-width: 0; padding-top: 12px; border-top: 1px solid var(--border-1); }
.up-api-ex h3 { margin-top: 0; }

/* API de mapas */
.up-api-fatos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 20px; margin: 12px 0; }
.up-api-fato { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; padding: 10px 0; border-top: 1px solid var(--border-1); }
.up-api-fato > i { grid-row: span 2; margin-top: 3px; color: var(--text-3); }
.up-api-fato > strong { font-size: 13px; }
.up-api-fato > span { color: var(--text-3); font-size: 12.5px; }
.up-api-endpoint { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.up-api-url code { overflow-wrap: anywhere; }
.up-api-pre-ok > pre { border-left: 2px solid var(--green); }
.up-api-pre-erro > pre { border-left: 2px solid var(--red); }
.up-api-mapa .u-pre code { cursor: copy; }
.up-api-mapa .u-pre > pre.up-api-copiado { border-color: var(--green); }
.up-api-abas-ex .u-tabs { padding: 0; margin-bottom: 12px; }
.up-api-painel-ex .u-pre { margin: 0; }
.up-api-teste { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin-top: 12px; }
.up-api-form { display: grid; gap: 12px; }
.up-api-form .u-field > label { color: var(--text-2); font-size: 12.5px; font-weight: 500; }
.up-api-ajuda { color: var(--text-3); font-size: 11.5px; }
.up-api-radios { display: flex; gap: 8px 16px; flex-wrap: wrap; }
.up-api-radio { display: inline-flex; align-items: center; gap: 6px; color: var(--text-1); font-size: 13px; }
.up-api-form textarea.u-in { height: auto; min-height: 150px; font-family: var(--mono); font-size: 11.5px; }
.up-api-form > .u-btn { justify-self: start; }
.up-api-res { min-height: 160px; padding: 12px 14px; border: 1px solid var(--border-1); border-radius: var(--r-md); background: var(--surface-2); }
.up-api-res.up-api-res-ok { border-left: 2px solid var(--green); }
.up-api-res.up-api-res-erro { border-left: 2px solid var(--red); }
.up-api-res-vazio { display: flex; align-items: flex-start; gap: 8px; color: var(--text-3); font-size: 13px; }
.up-api-res-vazio p { margin: 0; }
.up-api-res-tx { margin: 0; color: var(--text-1); font-family: var(--mono); font-size: 11.5px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.up-api-abrir { margin-top: 12px; }
.up-api-suporte { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; }
.up-api-sup-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-top: 1px solid var(--border-1); }
.up-api-sup-item > i { margin-top: 4px; color: var(--text-3); }
.up-api-sup-item p { margin: 2px 0 0; }

@media (max-width: 960px) {
    .up-api-doc { grid-template-columns: 1fr; }
    .up-api-toc { position: static; max-height: none; }
    .up-api-toc nav { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
    .up-api-fatos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .up-api-teste { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .up-api-itens,
    .up-api-itens4,
    .up-api-grade,
    .up-api-suporte { grid-template-columns: 1fr; }
    .up-api-sec { padding: 14px 14px 16px; }
    .up-api-ep-sum { padding: 12px 14px; }
    .up-api-ep-corpo { padding: 4px 14px 14px; }
    .up-api-fatos { grid-template-columns: 1fr; }
}
