/**
 * Tabelas e paginação do portal (Cleo Platform) — alinhado ao painel Analytics.
 * Use .portal-table-wrap + .portal-pagination em qualquer página.
 * Mantém aliases .analytics-table-wrap / .analytics-email-pagination para compatibilidade.
 */

.portal-table-wrap,
.analytics-table-wrap {
  overflow-x: auto;
  background-color: var(--color-background-paper);
  border: 1px solid var(--color-border-default);
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.portal-table-wrap table,
.analytics-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.portal-table-wrap thead,
.analytics-table-wrap thead {
  background-color: var(--color-background-elevated);
  border-bottom: 2px solid var(--color-border-default);
}

.portal-table-wrap th,
.analytics-table-wrap th {
  font-family: 'Roboto Slab', serif;
  font-weight: 600;
  color: var(--color-text-primary);
  text-align: left;
  padding: 12px 16px;
}

.portal-table-wrap td,
.analytics-table-wrap td {
  color: var(--color-text-primary);
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-border-default);
}

.portal-table-wrap tbody tr:last-child td,
.analytics-table-wrap tbody tr:last-child td {
  border-bottom: none;
}

.portal-table-wrap tbody tr:hover,
.analytics-table-wrap tbody tr:hover {
  background-color: var(--color-background-elevated);
}

.portal-table-empty-msg,
.analytics-table-empty-msg {
  text-align: left;
}

.portal-table-wrap__link {
  font-weight: 600;
  color: var(--color-primary-accent);
  text-decoration: none;
}

.portal-table-wrap__link:hover {
  text-decoration: underline;
}

html[data-theme="light"] .portal-table-wrap__link {
  color: var(--color-primary-accent);
}

/* Paginação (barra inferior tipo Analytics) */
.portal-pagination,
.analytics-email-pagination,
nav.analytics-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 12px 16px;
  border-top: 1px solid var(--color-border-default);
  background-color: var(--color-background-elevated);
}

.portal-pagination__btn,
.analytics-email-pagination__btn {
  font-size: 13px;
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid var(--color-border-default);
  background: var(--color-background-paper);
  color: var(--color-text-primary);
  cursor: pointer;
  text-decoration: none;
  font-family: inherit;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.portal-pagination__btn:disabled,
.analytics-email-pagination__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

a.portal-pagination__btn:hover:not(:disabled) {
  border-color: var(--color-primary-accent);
  color: var(--color-primary-accent);
}

.portal-pagination__info,
.analytics-email-pagination__info,
.portal-pagination__meta,
.analytics-pagination__meta {
  font-size: 13px;
  color: var(--color-text-secondary, var(--color-text-primary));
}

a.analytics-pagination__link {
  font-size: 13px;
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid var(--color-border-default);
  background: var(--color-background-paper);
  color: var(--color-text-primary);
  text-decoration: none;
  font-weight: 500;
}

a.analytics-pagination__link:hover {
  border-color: var(--color-primary-accent);
  color: var(--color-primary-accent);
}

@media (max-width: 620px) {
  .portal-table-wrap th,
  .portal-table-wrap td,
  .analytics-table-wrap th,
  .analytics-table-wrap td {
    padding: 10px 12px;
    font-size: 13px;
  }
}

html[data-theme="light"] .portal-table-wrap th,
html[data-theme="light"] .portal-table-wrap td,
html[data-theme="light"] .analytics-table-wrap th,
html[data-theme="light"] .analytics-table-wrap td,
html[data-theme="light"] .portal-table-empty-msg,
html[data-theme="light"] .analytics-table-empty-msg {
  color: #000000 !important;
}

html[data-theme="light"] .portal-pagination,
html[data-theme="light"] .analytics-email-pagination,
html[data-theme="light"] nav.analytics-pagination {
  border-top-color: var(--color-border-default, #bdbdbd);
}

html[data-theme="light"] .portal-pagination__btn,
html[data-theme="light"] .analytics-email-pagination__btn,
html[data-theme="light"] a.analytics-pagination__link {
  color: #000000 !important;
  border-color: #bdbdbd;
  background: #ffffff;
}

html[data-theme="light"] .portal-pagination__info,
html[data-theme="light"] .analytics-email-pagination__info,
html[data-theme="light"] .portal-pagination__meta,
html[data-theme="light"] .analytics-pagination__meta {
  color: #000000 !important;
}
