#csvAutoCadContainer {
  --cac-hover-strong: #dbe7f1;
  padding: var(--sp-5);
  font-family: inherit;
  font-size: var(--fs-base);
  color: var(--c-text);
}

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

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

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

.cac-header .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);
}

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

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

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

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

.cac-tabela th,
.cac-tabela td {
  padding: 5px var(--sp-3);
  vertical-align: middle;
  color: var(--c-text);
  border: 1px solid var(--c-border-strong);
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
}

.cac-tabela thead th {
  padding: var(--sp-2) var(--sp-3);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: .04em;
  text-align: center;
  color: var(--c-text);
  background: var(--c-surface-alt);
  border-bottom: 1px solid var(--c-border-strong);
}

/* ============================================================
   Colunas
   ============================================================ */

.cac-col-num {
  font-weight: var(--fw-semibold);
  color: var(--c-text-muted);
  text-align: center;
  vertical-align: middle;
  background: var(--c-surface-alt);
}

.cac-col-trecho {
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--c-accent);
  text-align: center;
  vertical-align: middle;
  background: var(--c-accent-soft);
}

.cac-col-atributo {
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  color: var(--c-text-muted);
  text-align: left;
  background: var(--c-surface-alt);
}

.cac-col-valor {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: var(--fs-sm);
  font-weight: var(--fw-normal);
  color: var(--c-text);
  text-align: left;
}

/* ============================================================
   Linhas + hover por trecho
   ============================================================ */

.cac-linha-attr { height: 22px; }

.cac-linha-attr.cac-trecho-hover .cac-col-atributo,
.cac-linha-attr.cac-trecho-hover .cac-col-valor {
  background: var(--c-accent-soft);
}

.cac-linha-attr.cac-trecho-hover .cac-col-num,
.cac-linha-attr.cac-trecho-hover .cac-col-trecho {
  background: var(--cac-hover-strong);
}

.cac-linha-attr.cac-trecho-hover .cac-col-trecho {
  color: var(--c-text);
}

/* ============================================================
   Divisor de trecho (a cada 6 linhas)
   ============================================================ */

.cac-tabela tbody tr:nth-child(6n + 1) td {
  border-top: 2px solid var(--c-accent);
}

/* ============================================================
   Vazio
   ============================================================ */

.cac-vazio {
  padding: var(--sp-6);
  font-style: italic;
  text-align: center;
  color: var(--c-text-muted);
  background: var(--c-surface-alt);
  border-radius: var(--r-sm);
}

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

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

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

  .cac-tabela { font-size: var(--fs-xs); }

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

  .cac-col-atributo,
  .cac-col-valor { font-size: var(--fs-2xs); }
}