/* ==========================================================================
   Ajudo — Calculadora de Abono Salarial (estilos específicos)
   Base de abas/card/campos em ferramenta.css. Aqui: carimbo, card de valor
   (com estados ok/sem-direito/vazio), checklist de requisitos e tabela SEO.
   ========================================================================== */

.table-stamp {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--green-deep);
  background: #e4ecdf;
  border: 1px solid var(--green);
  border-radius: 999px;
  padding: 5px 14px;
  margin-top: 12px;
}

/* Card de valor / aviso */
.abono-topo {
  margin: 1.1rem 0 0.4rem;
  padding: 1rem 1.25rem;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  border: 1px solid var(--line);
  background: var(--paper-deep);
}
.abono-topo .abono-topo-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink-soft);
}
.abono-topo strong {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 4vw, 2.2rem);
  line-height: 1.15;
  color: var(--green-deep);
}
.abono-topo .abono-topo-sub { font-size: 0.88rem; color: var(--ink-soft); }
.abono-topo .abono-muted { color: var(--ink-soft); font-size: 0.95rem; }

.abono-topo.is-ok {
  background: var(--green-soft, #eaf3ee);
  border-color: var(--green-line, #cfe3d6);
}
.abono-topo.is-no {
  background: var(--terracotta-soft, #f7e6df);
  border-color: var(--terracotta-line, #e6c3b6);
}
.abono-topo.is-no .abono-topo-label { color: var(--terracotta, #b5503a); }

/* Checklist de requisitos */
.abono-reqs-label {
  margin: 1.25rem 0 0.5rem;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink-soft);
}
.abono-reqs { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.abono-reqs li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.92rem;
  line-height: 1.4;
}
.abono-req-ic {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--paper);
}
.abono-req-ic.is-ok { background: var(--green); }
.abono-req-ic.is-no { background: var(--terracotta, #b5503a); }
.abono-reqs li.is-no span:last-child { color: var(--ink-soft); }

/* Tabela SEO (proporcional) */
.sl-table-wrap { overflow-x: auto; margin: 14px 0 22px; }
.sl-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: var(--card);
  border: 1.5px solid var(--line);
  border-radius: var(--radius);
}
.sl-table th, .sl-table td { text-align: left; padding: 10px 14px; border-bottom: 1.5px solid var(--line); }
.sl-table th {
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-soft);
  background: var(--paper-deep);
}
.sl-table tr:last-child td { border-bottom: none; }
.sl-table td:last-child, .sl-table th:last-child { text-align: right; font-variant-numeric: tabular-nums; }
