/* Fonte auto-hospedada (AD-022: pagina self-contained, zero URL externa;
 * o propshaft resolve o url() para o asset fingerprinted). */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/assets/plus-jakarta-sans-latin-4174eadd.woff2") format("woff2");
}

/* Documentação pública da API (DSG-02, correcoes-uat-1 T29).
 * Página standalone (fora do shell .sig-app): tokens sage do 4b re-declarados
 * aqui porque application.css estiliza o shell, não esta página. TUDO escopado
 * em body.api-docs — o bundle :app carrega este arquivo em todas as telas.
 * Mesma origem — AD-022 preservada (zero script/URL externa). */

body.api-docs {
  --sig-bg: #e9ede4;
  --sig-surface: #f2f5ee;
  --sig-card: #fdfefb;
  --sig-border: #dfe5da;
  --sig-text: #2c332c;
  --sig-text-muted: #667162;
  --sig-text-faint: #8a948a;
  --sig-accent-soft: #9ccc65;
  --sig-accent-link: #6ba32e;
  --sig-accent-strong: #1b3d1b;
  --sig-alarm: #e6531f;
  --sig-alarm-bg: #fdeee7;

  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  margin: 0;
  padding: 2.5rem 1.5rem 4rem;
  max-width: 52rem;
  margin-inline: auto;
  line-height: 1.6;
  background: var(--sig-bg);
  color: var(--sig-text);
}

.api-docs-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.api-docs-header-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* Sem a caixa fixa de 44px e sem preenchimento escuro: a marca signalis (logo18) e
   colorida sobre transparente, e o bloco existia para dar contraste ao SVG
   monocromatico antigo. Agora a marca fica na linha do h1 — `inline-block` +
   `vertical-align: middle` a centra no nome preservando o espaco natural entre as
   palavras, que `display: flex` no h1 comeria. */
.api-docs-logo {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}

.api-docs h1 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.api-docs .version {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--sig-accent-link);
  background: var(--sig-surface);
  border: 1px solid var(--sig-border);
  padding: 2px 8px;
  border-radius: 6px;
  display: inline-block;
  margin-top: 4px;
}

.api-docs .card {
  background: var(--sig-card);
  border: 1px solid var(--sig-border);
  border-radius: 16px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 16px rgba(60, 72, 56, 0.05);
}

.api-docs .desc {
  margin: 0;
  color: var(--sig-text-muted);
  font-size: 0.95rem;
}

.api-docs h2 {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--sig-text);
}

.api-docs .section-desc {
  margin: 0 0 1rem;
  color: var(--sig-text-muted);
  font-size: 0.92rem;
}

.api-docs .code-example {
  background: #1e261e;
  color: #e9ede4;
  padding: 10px 14px;
  border-radius: 8px;
  margin-bottom: 1rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.85rem;
  overflow-x: auto;
}

.api-docs .code-example code {
  background: transparent;
  border: none;
  color: inherit;
  padding: 0;
}

.api-docs .endpoints-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.api-docs .op {
  background: var(--sig-surface);
  border: 1px solid var(--sig-border);
  border-radius: 12px;
  padding: 1rem;
}

.api-docs .op-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.api-docs .method {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.72rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  padding: 0.2rem 0.65rem;
  border-radius: 6px;
  letter-spacing: 0.5px;
}

.api-docs .method--get {
  background: #e8f5e9;
  color: #2e7d32;
  border: 1px solid #c8e6c9;
}

.api-docs .method--post {
  background: #e3f2fd;
  color: #1565c0;
  border: 1px solid #bbdefb;
}

.api-docs .method--put,
.api-docs .method--patch {
  background: #fff8e1;
  color: #f57f17;
  border: 1px solid #ffe082;
}

.api-docs .method--delete {
  background: #ffebee;
  color: #c62828;
  border: 1px solid #ffcdd2;
}

.api-docs .path {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--sig-text);
}

.api-docs .summary {
  display: block;
  margin-top: 0.4rem;
  font-weight: 700;
  color: var(--sig-text);
  font-size: 0.92rem;
}

.api-docs .details {
  margin: 0.25rem 0 0;
  color: var(--sig-text-muted);
  font-size: 0.88rem;
}

.api-docs .schemes-list dt {
  font-weight: 700;
  margin-top: 0.85rem;
  font-size: 0.95rem;
}

.api-docs .schemes-list dd {
  margin: 0.2rem 0 0;
  color: var(--sig-text-muted);
  font-size: 0.9rem;
}

.api-docs code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.85em;
  background: var(--sig-surface);
  border: 1px solid var(--sig-border);
  padding: 0.1rem 0.35rem;
  border-radius: 5px;
  color: var(--sig-text);
}

.api-docs-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--sig-card);
  border: 1px solid var(--sig-border);
  color: var(--sig-text);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.api-docs-btn:hover {
  border-color: var(--sig-accent-soft);
  color: var(--sig-accent-link);
}

.api-docs-footer {
  text-align: center;
  margin-top: 2rem;
}

.api-docs-title {
  display: flex;
  align-items: center;
  gap: 6px;
}

.api-docs-title-brand {
  font-weight: 800;
  color: var(--sig-text);
  font-size: 1.6rem;
  letter-spacing: -0.5px;
}

.api-docs-title-suffix {
  font-weight: 400;
  color: var(--sig-text-muted);
  font-size: 1.3rem;
}
