/* Tela Visitas — painel de última visita por cliente (mudança
   visitas-painel-do-python, 23/09/2026). Traduzido do Python
   (static/css/style.css, .pbi-visitas-*): larguras de coluna, alinhamentos,
   zebra, hover, cabeçalho fixo e clicável, fonte 0.72rem e célula Status
   com fundo cheio, texto branco em negrito.

   Cores: tokens de tema do Shell (claro/escuro), EXCETO as da célula Status,
   que são fixas nos dois temas — são a legenda que a CDC já lê no Power BI
   (Requirement "Status da visita por faixa de dias").

   CSS global (não .razor.css) e todo seletor prefixado por ".visitas-vendas"
   — ver .claude/rules/arquitetura.md. */

.visitas-vendas {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  min-height: 0;
}

.visitas-vendas__erro {
  padding: 12px;
  background: var(--danger-bg);
  color: var(--danger-text);
  border-radius: 8px;
  border: 1px solid var(--danger-border);
}

/* --- Cartão da tabela (.pbi-visitas-card) --- */

.visitas-vendas__cartao {
  flex: 1;
  min-height: 480px;
  max-height: calc(100vh - 225px);
  overflow: auto;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 4px;
}

/* --- Tabela (.pbi-visitas-table) --- */

.visitas-vendas__tabela {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.72rem;
  font-family: var(--font-data);
  color: var(--color-cell-ink);
}

.visitas-vendas__tabela thead th {
  position: sticky;
  top: 0;
  z-index: 5;
  padding: 0;
  background: var(--color-table-head-bg);
  color: var(--color-table-head-ink);
  border: 1px solid var(--color-border);
  font-weight: 600;
  text-align: left;
}

/* O cabeçalho clicável é um botão (acessível por teclado); ocupa a célula
   inteira e herda cor/alinhamento do <th>. */
.visitas-vendas__tabela .visitas-vendas__ordenar {
  display: flex;
  align-items: center;
  gap: 3px;
  width: 100%;
  padding: 5px 6px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  text-align: inherit;
}

.visitas-vendas__tabela .visitas-vendas__ordenar:hover {
  background: color-mix(in srgb, var(--color-table-head-ink) 12%, transparent);
}

.visitas-vendas__tabela .visitas-vendas__ordenar:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: -2px;
}

.visitas-vendas__tabela .visitas-vendas__rotulo {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.visitas-vendas__tabela .visitas-vendas__seta {
  flex: none;
  font-size: 0.65rem;
  opacity: 0.85;
}

.visitas-vendas__tabela tbody tr {
  background: var(--color-surface);
}

.visitas-vendas__tabela tbody tr:nth-child(even) {
  background: var(--color-surface-subtle);
}

.visitas-vendas__tabela tbody tr:hover {
  background: var(--color-surface-panel);
}

.visitas-vendas__tabela tbody td {
  padding: 3.5px 6px;
  border: 1px solid var(--color-border);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.visitas-vendas__tabela .visitas-vendas__centro {
  text-align: center;
}

.visitas-vendas__tabela .visitas-vendas__direita {
  text-align: right;
}

.visitas-vendas__tabela .visitas-vendas__aviso {
  padding: 24px;
  text-align: center;
  white-space: normal;
  color: var(--color-muted);
}

/* --- Larguras e alinhamentos dos cabeçalhos (os do Python) --- */

.visitas-vendas__tabela .visitas-vendas__col--vendedor { width: 105px; }
.visitas-vendas__tabela .visitas-vendas__col--cod-cliente { width: 65px; }
.visitas-vendas__tabela .visitas-vendas__col--cliente { width: 250px; }
.visitas-vendas__tabela .visitas-vendas__col--ddd { width: 42px; text-align: center; }
.visitas-vendas__tabela .visitas-vendas__col--atividade { width: 120px; }
.visitas-vendas__tabela .visitas-vendas__col--cidade { width: 115px; }
.visitas-vendas__tabela .visitas-vendas__col--uf { width: 38px; text-align: center; }
.visitas-vendas__tabela .visitas-vendas__col--status { width: 75px; }
.visitas-vendas__tabela .visitas-vendas__col--data-visita { width: 92px; text-align: center; }
.visitas-vendas__tabela .visitas-vendas__col--data-venda { width: 96px; text-align: center; }
.visitas-vendas__tabela .visitas-vendas__col--diff { width: 68px; text-align: right; }

.visitas-vendas__tabela :is(.visitas-vendas__col--ddd, .visitas-vendas__col--uf, .visitas-vendas__col--data-visita, .visitas-vendas__col--data-venda) .visitas-vendas__ordenar {
  justify-content: center;
}

.visitas-vendas__tabela .visitas-vendas__col--diff .visitas-vendas__ordenar {
  justify-content: flex-end;
}

/* --- Célula Status: cores FIXAS do Power BI, iguais nos dois temas --- */

.visitas-vendas__tabela td.visitas-vendas__status {
  font-weight: 600;
  color: #ffffff;
  text-align: left;
}

.visitas-vendas__tabela td.visitas-vendas__status--9m { background-color: #D000FF; }
.visitas-vendas__tabela td.visitas-vendas__status--6m { background-color: #FF7700; }
.visitas-vendas__tabela td.visitas-vendas__status--3m { background-color: #ACB500; }
.visitas-vendas__tabela td.visitas-vendas__status--1a { background-color: #FF0000; }
.visitas-vendas__tabela td.visitas-vendas__status--2m { background-color: #00AD3F; }
.visitas-vendas__tabela td.visitas-vendas__status--7d { background-color: #0085FF; }
.visitas-vendas__tabela td.visitas-vendas__status--rc { background-color: #0E7490; }
.visitas-vendas__tabela td.visitas-vendas__status--sv { background-color: #94A3B8; }

