
body { background: var(--surface-100); color: var(--ink); font-family: var(--font-sans); }

/* Selo do logo: recorte da marca (a fita em M) do arquivo original, sobre o grafite do próprio arquivo */
.am-logo-selo {
  display: inline-block; width: 80px; height: 56px; border-radius: var(--radius-md);
  background-color: var(--admirabilis-deep-2);
  background-image: url("admirabilis-logo-grafite.png");
  background-repeat: no-repeat; background-size: 100px auto; background-position: -10.7px -48.5px;
  box-shadow: var(--shadow-1);
}
.am-logo-selo--lg { width: 160px; height: 112px; background-size: 200px auto; background-position: -21.4px -97px; }

/* Botão */
.am-btn {
  font: 500 15px/1 var(--font-sans); display: inline-flex; align-items: center; gap: var(--space-2);
  padding: var(--space-3) var(--space-6); border-radius: var(--radius-sm); cursor: pointer;
  background: var(--accent); color: var(--on-accent); border: 1px solid var(--accent);
}
.am-btn:hover { background: var(--admirabilis-blue-deep); border-color: var(--admirabilis-blue-deep); color: #ffffff; }
.am-btn:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.am-btn:disabled { opacity: .45; cursor: not-allowed; }
.am-btn--secundario { background: transparent; color: var(--ink); border-color: var(--line); }
.am-btn--secundario:hover { background: var(--surface-200); color: var(--ink); border-color: var(--line); }
.am-btn--texto { background: transparent; color: var(--accent); border-color: transparent; padding-inline: var(--space-2); }
.am-btn--texto:hover { background: transparent; color: var(--accent); border-color: transparent; text-decoration: underline; }

/* Etiqueta de status */
.am-tag {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font: 500 11px/1.3 var(--font-sans); letter-spacing: .06em; text-transform: uppercase;
  padding: 5px var(--space-2); border-radius: var(--radius-sm);
  color: var(--ink); background: var(--surface-200); border: 1px solid var(--line-subtle);
}
.am-tag::before { content: ""; width: 8px; height: 8px; border-radius: var(--radius-pill); background: currentColor; }
.am-tag--ok { color: var(--success); }
.am-tag--risco { color: var(--warning); }
.am-tag--atrasado { color: var(--danger); }
.am-tag--info { color: var(--info); }

/* Destaque: o ponto que importa, marcado pela esfera dourada */
.am-destaque { display: grid; grid-template-columns: auto 1fr; gap: var(--space-4); align-items: start;
  background: var(--surface-200); padding: var(--space-6); border-radius: var(--radius-sm); }
.am-destaque__esfera { width: 20px; height: 20px; margin-top: 2px; border-radius: var(--radius-pill);
  background: var(--admirabilis-gold-light); border: 2px solid var(--admirabilis-gold-deep); }
.am-destaque__label { font: 500 11px/1.3 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--gold-text); margin: 0 0 var(--space-2); }
.am-destaque__texto { font: 500 18px/1.45 var(--font-sans); color: var(--ink); margin: 0; }

/* Tabela de indicadores */
.am-indicadores { width: 100%; border-collapse: collapse; font: 400 13px/1.45 var(--font-sans); color: var(--ink); }
.am-indicadores th { text-align: left; font-weight: 500; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-muted);
  background: var(--surface-300); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line); }
.am-indicadores td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line-subtle); vertical-align: middle; }
.am-indicadores tr:nth-child(even) td { background: var(--surface-200); }
.am-indicadores .num { font-family: var(--font-mono); font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }
.am-indicadores th.num { font-family: var(--font-sans); }

/* Card de carrossel (1080x1350; a prévia mostra em escala) */
.am-card { width: 1080px; height: 1350px; box-sizing: border-box; padding: var(--space-16); display: flex; flex-direction: column;
  background: var(--admirabilis-deep); color: #f1f1ef; font-family: var(--font-sans); position: relative; }
.am-card__label { font: 500 22px/1.3 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--admirabilis-muted); }
.am-card__titulo { font: 700 88px/1.04 var(--font-sans); letter-spacing: -0.02em; margin: var(--space-8) 0 0; max-width: 16ch; }
.am-card__titulo em { font-style: normal; color: #e2b544; }
.am-card__texto { font: 400 34px/1.5 var(--font-sans); color: var(--admirabilis-muted); margin: var(--space-12) 0 0; max-width: 28ch; }
.am-card__rodape { margin-top: auto; display: flex; justify-content: space-between; align-items: center; font: 500 22px/1 var(--font-sans); color: var(--admirabilis-muted); }
.am-card__esfera { width: 28px; height: 28px; border-radius: var(--radius-pill); background: var(--admirabilis-gold-light); display: inline-block; margin-right: var(--space-4); vertical-align: middle; }
.am-card__faixa { position: absolute; left: 0; top: 0; width: 12px; height: 100%; background: var(--admirabilis-blue); }

/* Capa de slide 16:9 */
.am-slide { width: 960px; height: 540px; box-sizing: border-box; padding: var(--space-12); display: grid; grid-template-rows: auto 1fr auto;
  background: var(--admirabilis-deep); color: #f1f1ef; font-family: var(--font-sans); }
.am-slide__topo { display: flex; justify-content: space-between; align-items: center; }
.am-slide__label { font: 500 13px/1.3 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--admirabilis-muted); }
.am-slide__titulo { align-self: end; font: 700 52px/1.05 var(--font-sans); letter-spacing: -0.02em; margin: 0; max-width: 17ch; }
.am-slide__sub { font: 400 18px/1.5 var(--font-sans); color: var(--admirabilis-muted); margin: var(--space-4) 0 0; }
.am-slide__rodape { display: flex; gap: var(--space-6); align-items: center; font: 400 13px/1 var(--font-sans); color: var(--admirabilis-muted);
  border-top: 1px solid #47464a; padding-top: var(--space-4); margin-top: var(--space-8); }

/* Cabeçalho de relatório */
.am-relatorio { display: grid; grid-template-columns: auto 1fr; gap: var(--space-6); align-items: center;
  padding-bottom: var(--space-6); border-bottom: 2px solid var(--accent); font-family: var(--font-sans); }
.am-relatorio__titulo { font: 700 32px/1.15 var(--font-sans); margin: var(--space-1) 0 0; color: var(--ink); }
.am-relatorio__label { font: 500 11px/1.3 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-muted); margin: 0; }
.am-relatorio__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); margin: var(--space-3) 0 0; font: 400 13px/1.45 var(--font-sans); color: var(--ink-muted); }
.am-relatorio__meta b { color: var(--ink); font-weight: 500; }
