/* Card container */
.ct-card {
  border-radius: 8px;
}

/* [data-bs-theme="dark"] .ct-card {
  
} */

/* Tabela base */
.ct-table thead th {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding-top: 10px;
  padding-bottom: 10px;
  text-transform: uppercase;
}

[data-bs-theme="dark"] .ct-table {
  --bs-table-striped-bg: rgba(255,255,255,0.025);
  --bs-table-hover-bg: rgba(202,111,23,0.07);
  --bs-table-border-color: rgba(255,255,255,0.06);
}

/* Truncamento padrão nas células do body */
.ct-table tbody td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px;
  cursor: default;
}

/* Última coluna (ações) nunca trunca */
.ct-table tbody td:last-child {
  overflow: visible;
  text-overflow: unset;
  max-width: none;
  white-space: normal;
}

/* Coluna sem truncamento — aplica direto no <td> ou <th> */
.ct-col-free {
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: none !important;
  white-space: normal !important;
}

/* Coluna com truncamento maior */
.ct-col-md {
  max-width: 200px !important;
}

/* Coluna com truncamento menor */
.ct-col-sm {
  max-width: 80px !important;
}

/* Badge padrão — cores definidas via style inline */
.ct-badge {
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  display: inline-block;
  white-space: nowrap;
}

/* Badge verde */
.ct-badge-success {
  background: rgba(20,184,80,0.15);
  color: #4ade80;
  border: 1px solid rgba(20,184,80,0.3);
}

/* Badge vermelho */
.ct-badge-danger {
  background: rgba(220,38,38,0.15);
  color: #f87171;
  border: 1px solid rgba(220,38,38,0.3);
}

/* Badge laranja (marca) */
.ct-badge-brand {
  background: rgba(202,111,23,0.15);
  color: #ca6f17;
  border: 1px solid rgba(202,111,23,0.3);
}

/* Badge azul */
.ct-badge-info {
  background: rgba(37,99,235,0.15);
  color: #60a5fa;
  border: 1px solid rgba(37,99,235,0.3);
}

/* Badge roxo */
.ct-badge-purple {
  background: rgba(168,85,247,0.15);
  color: #c084fc;
  border: 1px solid rgba(168,85,247,0.3);
}

/* Badge ciano */
.ct-badge-teal {
  background: rgba(20,184,166,0.15);
  color: #2dd4bf;
  border: 1px solid rgba(20,184,166,0.3);
}

/* Paginação */
.ct-pagination .page-link {
  color: #ca6f17;
  border-color: var(--bs-border-color);
}

.ct-pagination .page-item.active .page-link {
  background-color: #ca6f17;
  border-color: #ca6f17;
  color: white;
}

.ct-pagination .page-link:hover {
  background-color: rgba(202,111,23,0.12);
  color: #ca6f17;
  border-color: #ca6f17;
}

/* Botões de ação na tabela */
.ct-btn-action {
  width: 34px;
  height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border: none;
  transition: background 0.15s;
}

.ct-btn-action.lock {
  background: rgba(202,111,23,0.15);
  color: #ca6f17;
}

.ct-btn-action.lock:hover {
  background: rgba(202,111,23,0.3);
}

.ct-btn-action.del {
  background: rgba(220,50,50,0.12);
  color: #e05050;
}

.ct-btn-action.del:hover {
  background: rgba(220,50,50,0.25);
}

.ct-btn-action.edit {
  background: rgba(37,99,235,0.12);
  color: #60a5fa;
}

.ct-btn-action.edit:hover {
  background: rgba(37,99,235,0.25);
}

.ct-btn-action.view {
  background: rgba(20,184,166,0.12);
  color: #2dd4bf;
}

.ct-btn-action.view:hover {
  background: rgba(20,184,166,0.25);
}