#tqDgContainer {
  padding: var(--sp-5);
  font-family: inherit;
  font-size: var(--fs-base);
  color: var(--c-text);
}

/* ============================================================
   Header
   ============================================================ */

.tqd-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-4);
  margin-bottom: var(--sp-4);
}

.tqd-header h2 {
  margin: 0;
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  color: var(--c-text);
}

.tqd-acoes {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-3);
}

/* ============================================================
   Filtro
   ============================================================ */

.tqd-filtro {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
}

.tqd-filtro label {
  font-weight: var(--fw-semibold);
  letter-spacing: .4px;
  text-transform: uppercase;
  color: var(--c-text-muted);
}

.tqd-filtro select {
  min-width: 160px;
  padding: var(--sp-2) var(--sp-3);
  font-family: inherit;
  font-size: var(--fs-base);
  color: var(--c-text);
  background: var(--c-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}

.tqd-filtro select:hover { border-color: var(--c-text-subtle); }

.tqd-filtro select:focus-visible {
  outline: none;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px var(--c-accent-soft);
}

/* ============================================================
   Botão primário
   ============================================================ */

.btn-primario {
  padding: var(--sp-2) var(--sp-3);
  font-family: inherit;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: #fff;
  background: var(--c-primary);
  border: none;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: background var(--t-base);
}

.btn-primario:hover { background: var(--c-primary-hover); }

/* ============================================================
   Tabela
   ============================================================ */

.tqd-tabela-wrapper {
  overflow-x: auto;
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-sm);
}

.tqd-tabela {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-family: inherit;
  font-size: var(--fs-base);
  color: var(--c-text);
  background: var(--c-surface);
}

.tqd-tabela th,
.tqd-tabela td {
  padding: var(--sp-2) var(--sp-3);
  vertical-align: middle;
  color: var(--c-text);
  border: 1px solid var(--c-border-strong);
}

.tqd-tabela thead th {
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  letter-spacing: .02em;
  text-align: center;
  color: var(--c-text);
  background: var(--c-surface-alt);
  border-bottom: 1px solid var(--c-border-strong);
}

.tqd-tabela tbody tr:nth-child(even) { background: var(--c-surface-alt); }
.tqd-tabela tbody tr:hover           { background: var(--c-accent-soft); }

.tqd-tabela .col-center { text-align: center; }
.tqd-tabela .col-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.tqd-nome {
  font-weight: var(--fw-semibold);
  color: var(--c-accent);
}

/* ============================================================
   Badges
   ============================================================ */

.tqd-badge {
  display: inline-block;
  padding: 2px var(--sp-2);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: .03em;
  border-radius: 999px;
}

.tqd-badge-tq {
  color: var(--c-accent);
  background: var(--c-accent-soft);
  border: 1px solid var(--c-accent);
}

.tqd-badge-dg {
  color: #8a4a2c;
  background: #fdf3ec;
  border: 1px solid #b56a4a;
}

/* ============================================================
   Estado vazio
   ============================================================ */

.tqd-vazio {
  padding: var(--sp-6);
  font-style: italic;
  text-align: center;
  color: var(--c-text-muted);
}

/* ============================================================
   Responsivo
   ============================================================ */

@media (max-width: 768px) {
  #tqDgContainer { padding: var(--sp-3); }

  .tqd-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .tqd-tabela {
    min-width: 560px;
    font-size: var(--fs-sm);
  }

  .tqd-tabela th,
  .tqd-tabela td { padding: var(--sp-2); }
}