/* ==========================================================================
   GAFA 2026 - MODELO SPSS DINÂMICO (ESPELHO DO EDITOR)

   SPR-08.x — Caixilho SPSS preservado para tabelas Univariada, 1x1,
   Nx1 e preparado para evolução NxN. As regras abaixo compõem:
     1. Perímetro externo (3px) — caixilho.
     2. Eixo vertical mestre (3px) — separa rótulos | dados.
     3. Eixo horizontal mestre (3px) — separa cabeçalho | dados.
     4. Divisor de bloco (3px) — separação semântica entre grupos (Nx1/NxN).
   A 4ª regra é a que estava intermitente: ela depende do atributo
   `data-block-end="true"` que o template precisa emitir em todas as
   linhas intermediárias dos blocos. O CSS abaixo é a fonte de
   verdade visual — o template apenas marca a posição.
   ========================================================================== */

.table_master_teste {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--gafa-font, Verdana, sans-serif) !important;
  background: white;
}

/* --- TÍTULOS EXTERNOS --- */
.gafa-table-title {
  background-color: var(--title-bg) !important;
  color: var(--title-color) !important;
  font-family: var(--gafa-font) !important;
  font-size: var(--title-size) !important;
  font-weight: var(--title-weight) !important;
  font-style: var(--title-style, normal) !important;
  text-decoration: var(--title-decoration, none) !important;
  text-align: var(--title-align) !important;
  text-transform: uppercase;
  padding: 8px 0;
  margin-bottom: 10px;
  width: 100%;
  display: block;
}

.table_master_teste th,
.table_master_teste td {
  font-family: inherit !important;
  padding: 8px;
  /* Restaura o espaçamento original das células */
}

/* ==========================================================================
   CONEXÃO COM A "PELE" (VINCULADA ÀS VARIÁVEIS DINÂMICAS)
   ========================================================================== */
[data-edit-area="sidebar_top"] {
  background-color: var(--z1-bg, #ffffff) !important;
  color: var(--z1-color, #000000) !important;
  font-size: var(--z1-font-size, 14px) !important;
  text-align: var(--z1-text-align, center) !important;
  font-weight: var(--z1-font-weight, bold) !important;
  font-style: var(--z1-font-style, normal) !important;
  text-decoration: var(--z1-text-decoration, none) !important;
  border-right: var(--z1-border-v-size, 1px) solid var(--z1-border-v-color, var(--gafa-border-color));
  border-bottom: var(--z1-border-h-size, 1px) solid var(--z1-border-h-color, var(--gafa-border-color));
}

[data-edit-area="header"] {
  background-color: var(--z2-bg, #f2f2f2) !important;
  color: var(--z2-color, #000000) !important;
  font-size: var(--z2-font-size, 14px) !important;
  text-align: var(--z2-text-align, center) !important;
  font-weight: var(--z2-font-weight, bold) !important;
  font-style: var(--z2-font-style, normal) !important;
  text-decoration: var(--z2-text-decoration, none) !important;
  border-right: var(--z2-border-v-size, 1px) solid var(--z2-border-v-color, #eee);
  border-bottom: var(--z2-border-h-size, 1px) solid var(--z2-border-h-color, var(--gafa-border-color));
}

/* Anula somente a borda vertical entre rótulos de coluna do cabeçalho NxN.
   A borda horizontal fina é preservada para espelhar o Excel/exportador. */
.table_master_teste [data-edit-type="col_labels"] {
  border-right: none !important;
}

[data-edit-area="labels"] {
  background-color: var(--z3-bg, #f8f9fa) !important;
  color: var(--z3-color, #000000) !important;
  font-size: var(--z3-font-size, 14px) !important;
  text-align: var(--z3-text-align, left) !important;
  font-weight: var(--z3-font-weight, bold) !important;
  font-style: var(--z3-font-style, normal) !important;
  text-decoration: var(--z3-text-decoration, none) !important;
  border-right: var(--z3-border-v-size, 1px) solid var(--z3-border-v-color, var(--gafa-border-color));
  border-bottom: var(--z3-border-h-size, 1px) solid var(--z3-border-h-color, #eee);
}

[data-edit-area="data"] {
  background-color: var(--z4-bg, #ffffff) !important;
  color: var(--z4-color, #000000) !important;
  font-size: var(--z4-font-size, 14px) !important;
  text-align: var(--z4-text-align, center) !important;
  font-weight: var(--z4-font-weight, normal) !important;
  font-style: var(--z4-font-style, normal) !important;
  text-decoration: var(--z4-text-decoration, none) !important;
  border-right: var(--z4-border-v-size, 1px) solid var(--z4-border-v-color, #eee);
  border-bottom: var(--z4-border-h-size, 1px) solid var(--z4-border-h-color, #eee);
}

/* ==========================================================================
  FUNDAÇÃO ESTRUTURAL SPSS (CAIXILHO E EIXOS MESTRES FIXOS)
  ========================================================================== */
/* 1. PERÍMETRO DA TABELA (CAIXILHO EXTERNO - 3PX) */
.table_master_teste tr[data-row-pos="first"] th,
.table_master_teste tr[data-row-pos="first"] td {
  border-top: 3px solid var(--gafa-border-color) !important;
}

.table_master_teste tr[data-row-pos="last"] th,
.table_master_teste tr[data-row-pos="last"] td {
  border-bottom: 3px solid var(--gafa-border-color) !important;
}

.table_master_teste [data-col-pos="first"] {
  border-left: 3px solid var(--gafa-border-color) !important;
}

.table_master_teste [data-col-pos="last"] {
  border-right: 3px solid var(--gafa-border-color) !important;
}

/* 2. EIXO VERTICAL MESTRE (SEPARAÇÃO Y: RÓTULOS | DADOS) */
.table_master_teste [data-edit-area="sidebar_top"],
.table_master_teste [data-edit-type="row_labels"] {
  border-right: 3px solid var(--gafa-border-color) !important;
}

/* 3. EIXO HORIZONTAL MESTRE (SEPARAÇÃO X: CABEÇALHO | DADOS) */
.table_master_teste [data-edit-area="sidebar_top"],
.table_master_teste [data-edit-type="col_header"],
.table_master_teste [data-edit-type="col_metric"] {
  border-bottom: 3px solid var(--gafa-border-color) !important;
}

/* 4. DIVISOR DE BLOCO SEMÂNTICO (PERFEIÇÃO VISUAL Nx1 / NxN) */
.table_master_teste tr[data-block-end="true"] td,
.table_master_teste tr[data-block-end="true"] th,
.table_master_teste td[data-block-end="true"] {
  border-bottom: 3px solid var(--gafa-border-color) !important;
}

/* 5. CAIXILHO INFERIOR DA ÚLTIMA LINHA (N X N — placeholder evolutivo)
   Garante que mesmo sem `data-block-end`, a última linha da tabela
   sempre feche o caixilho. A regra 1 (data-row-pos="last") já cobre
   a última linha do último bloco; aqui reforçamos para tabelas NxN
   que tenham múltiplos row_groups sem `data-row-pos="last"` no final. */
.table_master_teste tbody tr:last-child > td,
.table_master_teste tbody tr:last-child > th {
  border-bottom: 3px solid var(--gafa-border-color) !important;
}