/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: May 27 2026 | 01:37:52 */
/* ═══════════════════════════════════════════════════════════
   CP PAGES — PAINEL DADOS (/painel-dados/)
   Mapa de tabelas, colunas e relacoes do banco cpTools.
   Prefixo: cp-pnl-dados-
   Depende de cp-pages-painel.css (header, body, stats-row).
   ═══════════════════════════════════════════════════════════ */


/* ───── Empty state (snapshot ainda nao gerado) ───── */
.cp-pnl-dados-empty {
  background: #fff;
  border: 1px solid var(--cp-border);
  border-radius: var(--cp-radius-md);
  padding: 60px 30px !important;
  text-align: center;
  color: var(--cp-text-muted) !important;
}
.cp-pnl-dados-empty i {
  font-size: 48px !important;
  color: rgba(0,0,0,.15) !important;
  margin-bottom: 16px !important;
  display: block;
}
.cp-pnl-dados-empty h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--cp-text) !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
.cp-pnl-dados-empty p {
  font-size: 14px !important;
  color: var(--cp-text-muted) !important;
  margin: 0 auto !important;
  max-width: 480px;
  line-height: 1.5 !important;
}
.cp-pnl-dados-empty code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px !important;
  background: var(--cp-bg);
  padding: 1px 6px !important;
  border-radius: 3px;
  color: #2563eb !important;
}


/* ───── Root + filters ───── */
.cp-pnl-dados-root {
  background: #fff;
  border-radius: var(--cp-radius-md);
  border: 1px solid var(--cp-border);
  padding: 20px !important;
}
.cp-pnl-dados-filters {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 14px !important;
}
.cp-pnl-dados-search {
  flex: 1;
  min-width: 220px;
  padding: 8px 12px !important;
  border: 1px solid var(--cp-border);
  border-radius: 6px;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--cp-text) !important;
  background: #fff;
  outline: none;
}
.cp-pnl-dados-search:focus {
  border-color: var(--cp-amarelo);
}
.cp-pnl-dados-filter {
  padding: 8px 12px !important;
  border: 1px solid var(--cp-border);
  border-radius: 6px;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--cp-text) !important;
  background: #fff;
  cursor: pointer;
  min-width: 180px;
}
.cp-pnl-dados-count {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--cp-text-muted) !important;
  margin-left: auto !important;
  white-space: nowrap;
}


/* ───── Tabela principal ───── */
.cp-pnl-dados-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--cp-border);
  border-radius: var(--cp-radius-sm);
}
.cp-pnl-dados-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px !important;
  background: #fff;
}
.cp-pnl-dados-table thead th {
  background: #f8fafc;
  border-bottom: 1px solid var(--cp-border);
  text-align: left;
  padding: 10px 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--cp-text-secondary) !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 2;
}
.cp-pnl-dados-table thead th.cp-pnl-dados-num {
  text-align: right;
}
.cp-pnl-dados-table thead th.cp-pnl-dados-sortable {
  cursor: pointer;
  user-select: none;
}
.cp-pnl-dados-table thead th.cp-pnl-dados-sortable:hover {
  background: #eef2f7;
  color: var(--cp-text) !important;
}
.cp-pnl-dados-table thead th.cp-pnl-dados-sort-asc::after  { content: " ▲"; opacity: .6; }
.cp-pnl-dados-table thead th.cp-pnl-dados-sort-desc::after { content: " ▼"; opacity: .6; }

.cp-pnl-dados-table tbody tr {
  border-bottom: 1px solid #f1f5f9;
  transition: background .12s;
}
.cp-pnl-dados-table tbody tr:hover {
  background: #f8fafc;
}
.cp-pnl-dados-table tbody td {
  padding: 9px 12px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--cp-text) !important;
  vertical-align: top;
  line-height: 1.4 !important;
}
.cp-pnl-dados-table tbody td.cp-pnl-dados-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  color: var(--cp-text-secondary) !important;
}

/* Nome da tabela (clicavel pra expandir) */
.cp-pnl-dados-tname {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2563eb !important;
  cursor: pointer;
}
.cp-pnl-dados-tdesc {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--cp-text-muted) !important;
  margin: 3px 0 0 18px !important;
  line-height: 1.4 !important;
}
.cp-pnl-dados-tname:hover {
  text-decoration: underline !important;
}
.cp-pnl-dados-tname-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cp-pnl-dados-chev {
  font-size: 10px !important;
  color: var(--cp-text-muted) !important;
  transition: transform .15s;
  display: inline-block;
}
tr.cp-pnl-dados-expanded .cp-pnl-dados-chev {
  transform: rotate(90deg);
}

/* Dominio (chip) */
.cp-pnl-dados-domain {
  display: inline-block;
  padding: 2px 8px !important;
  border-radius: 4px;
  background: #eef2f7;
  color: var(--cp-text-secondary) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  white-space: nowrap;
}
.cp-pnl-dados-domain.cp-pnl-dados-domain-uncat {
  background: #fff7ed;
  color: #9a3412 !important;
}

/* Badge de cobertura (semaforo verde/amarelo/vermelho) */
.cp-pnl-dados-cov {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px !important;
  border-radius: 10px;
  font-size: 11px !important;
  font-weight: 600 !important;
  white-space: nowrap;
}
.cp-pnl-dados-cov-green  { background: #dcfce7; color: #166534 !important; }
.cp-pnl-dados-cov-yellow { background: #fef3c7; color: #92400e !important; }
.cp-pnl-dados-cov-red    { background: #fee2e2; color: #991b1b !important; }
.cp-pnl-dados-cov-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.cp-pnl-dados-cov-green  .cp-pnl-dados-cov-dot { background: #16a34a; }
.cp-pnl-dados-cov-yellow .cp-pnl-dados-cov-dot { background: #ca8a04; }
.cp-pnl-dados-cov-red    .cp-pnl-dados-cov-dot { background: #dc2626; }


/* ───── Linha expandida (colunas + FKs) ───── */
tr.cp-pnl-dados-detail > td {
  background: #fafbfc !important;
  padding: 16px 16px 20px !important;
}
.cp-pnl-dados-detail-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
}
@media (max-width: 900px) {
  .cp-pnl-dados-detail-grid { grid-template-columns: 1fr; }
}

.cp-pnl-dados-detail-block h4 {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--cp-text-secondary) !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 10px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

/* Tabela de colunas */
.cp-pnl-dados-cols {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px !important;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}
.cp-pnl-dados-cols th {
  background: #f1f5f9;
  text-align: left;
  padding: 6px 10px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--cp-text-secondary) !important;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  line-height: 1.3 !important;
}
.cp-pnl-dados-cols td {
  padding: 6px 10px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--cp-text) !important;
  border-top: 1px solid #f1f5f9;
  vertical-align: top;
  line-height: 1.4 !important;
}
.cp-pnl-dados-cols td.cp-pnl-dados-c-name {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 600 !important;
  color: var(--cp-text) !important;
}
.cp-pnl-dados-cols td.cp-pnl-dados-c-type {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px !important;
  color: var(--cp-text-secondary) !important;
}
.cp-pnl-dados-c-key {
  display: inline-block;
  padding: 1px 6px !important;
  border-radius: 3px;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.cp-pnl-dados-c-key-pri { background: #fef3c7; color: #78350f !important; }
.cp-pnl-dados-c-key-uni { background: #dbeafe; color: #1e40af !important; }
.cp-pnl-dados-c-key-mul { background: #e0e7ff; color: #3730a3 !important; }
.cp-pnl-dados-c-null {
  font-size: 10px !important;
  color: var(--cp-text-muted) !important;
  font-style: italic;
}

/* Lista de FKs */
.cp-pnl-dados-fk-list {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}
.cp-pnl-dados-fk-list li {
  padding: 6px 10px !important;
  font-size: 12px !important;
  border-bottom: 1px solid #f1f5f9;
  background: #fff;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--cp-text-secondary) !important;
  line-height: 1.5 !important;
}
.cp-pnl-dados-fk-list li:first-child { border-top: 1px solid #e2e8f0; }
.cp-pnl-dados-fk-list .cp-pnl-dados-fk-col {
  color: var(--cp-text) !important;
  font-weight: 600 !important;
}
.cp-pnl-dados-fk-list .cp-pnl-dados-fk-arrow {
  margin: 0 6px !important;
  color: var(--cp-text-muted) !important;
}
.cp-pnl-dados-fk-list .cp-pnl-dados-fk-ref {
  color: #2563eb !important;
  cursor: pointer;
}
.cp-pnl-dados-fk-list .cp-pnl-dados-fk-ref:hover {
  text-decoration: underline !important;
}
.cp-pnl-dados-fk-empty {
  font-size: 12px !important;
  font-style: italic;
  color: var(--cp-text-muted) !important;
  padding: 8px 0 !important;
  line-height: 1.4 !important;
}

/* Badge de timezone */
.cp-pnl-dados-tz {
  display: inline-block;
  padding: 1px 6px !important;
  margin-left: 6px !important;
  border-radius: 3px;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
}
.cp-pnl-dados-tz-brt   { background: #dcfce7; color: #166534 !important; }
.cp-pnl-dados-tz-utc   { background: #fee2e2; color: #991b1b !important; }
.cp-pnl-dados-tz-mixed { background: #fef3c7; color: #92400e !important; }

/* Meta da tabela (engine, collation, comment) */
.cp-pnl-dados-meta {
  margin-top: 12px !important;
  font-size: 11px !important;
  color: var(--cp-text-muted) !important;
  line-height: 1.5 !important;
}
.cp-pnl-dados-meta strong {
  color: var(--cp-text-secondary) !important;
  font-weight: 600 !important;
}
.cp-pnl-dados-meta code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px !important;
  background: #f1f5f9;
  padding: 1px 5px !important;
  border-radius: 3px;
  color: var(--cp-text) !important;
}


/* ───── Responsivo ───── */
@media (max-width: 768px) {
  .cp-pnl-dados-filters { flex-direction: column; align-items: stretch; }
  .cp-pnl-dados-search,
  .cp-pnl-dados-filter { width: 100%; min-width: 0; }
  .cp-pnl-dados-count { margin-left: 0 !important; }
  .cp-pnl-dados-table thead th,
  .cp-pnl-dados-table tbody td { padding: 8px 6px !important; font-size: 12px !important; }
  /* esconde colunas menos criticas em mobile */
  .cp-pnl-dados-table th:nth-child(5),
  .cp-pnl-dados-table td:nth-child(5),
  .cp-pnl-dados-table th:nth-child(7),
  .cp-pnl-dados-table td:nth-child(7) { display: none; }
}
