/* Panel card + table rows (W-02, W-06, W-08, W-09). Columns per table via --colunas. */
.cartao { border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.cartao__cabecalho {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--sp-3); padding: var(--sp-7);
}
.cartao__titulo { margin: 0; font-size: 18px; font-weight: 600; }
.cartao__sub { margin: 0; font-size: var(--fs-small); color: var(--muted); }
/* Desktop: overflow visible so row menus (C-10) are never clipped. Below 900px: scroll inside. */
.tabela { overflow: visible; }
@media (max-width: 899px) {
  .tabela { overflow-x: auto; }
  .tabela__cabecalho, .tabela__linha { min-width: 720px; }
}
.tabela__cabecalho, .tabela__linha {
  display: grid; grid-template-columns: var(--colunas); gap: var(--sp-7); align-items: center;
  padding: var(--sp-5) var(--sp-7);
}
.tabela__cabecalho {
  padding-block: var(--sp-4); background: var(--bg);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  font-size: var(--fs-label); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted);
}
.tabela__linha { border-bottom: 1px solid var(--line-2); font-size: 14px; }
.tabela__linha:last-child { border-bottom: none; }
.tabela__linha--inativa { color: var(--muted); }
.tabela__linha--inativa > :not(.tabela__acoes) { opacity: 0.6; }
.tabela__direita { text-align: right; justify-self: end; }
.tabela__numero { text-align: right; font-family: var(--font-mono); font-size: var(--fs-body-panel); }
.tabela__nome {
  padding: 0; border: none; background: transparent; color: var(--ink); font: inherit;
  font-size: var(--fs-body-panel); font-weight: 600; text-align: left; cursor: pointer;
  text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: 4px;
}
.tabela__apoio { margin: 2px 0 0; font-size: var(--fs-small); color: var(--muted); }
a.tabela__nome { justify-self: start; }
.tabela__texto { color: var(--ink-2); }
.tabela__arrastar {
  display: flex; align-items: center; justify-content: center; width: 32px; height: var(--touch-min);
  padding: 0; border: none; border-radius: var(--r-field-panel); background: transparent;
  color: var(--muted); cursor: grab;
}
.tabela__linha--arrastando { opacity: 0.5; }
/* Inline edit (W-08.2): yellow = editing, green = new row. */
.tabela__linha--edicao { background: var(--accent-soft); box-shadow: inset 3px 0 0 var(--accent); }
.tabela__linha--nova { background: var(--ok-soft); box-shadow: inset 3px 0 0 var(--ok); }
.tabela__acoes-linha { grid-column: span 2; display: flex; justify-content: flex-end; gap: var(--sp-3); }
.tabela__erro { grid-column: 2 / -1; margin-top: calc(-1 * var(--sp-3)); }
.tabela--refeicoes { --colunas: 32px minmax(0, 1.3fr) minmax(0, 2fr) 136px 120px 64px; }
