/* ====================== TBC BUTTONS - BASE ====================== */
.btn.action-button.tbc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: none;
  padding: 0;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  letter-spacing: 0.3px;
  transition: all .2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ====================== VARIANTI COLORE ====================== */

/* Filter (giallo) */
.btn.action-button.tbc-btn--filter {
  background: #E8BE00;
  color: #fff;
}
.btn.action-button.tbc-btn--filter:hover {
  background: #C7A308;
  box-shadow: 0 4px 12px rgba(184, 162, 0, 0.2); 
  transform: translateY(-1px);
}
.btn.action-button.tbc-btn--filter:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(184, 162, 0, 0.2);
}
.btn.action-button.tbc-btn--filter:focus-visible {
  outline: 2px solid #C7A308;
  outline-offset: 2px;
}

/* Save/Registra (verde) */ 
.btn.action-button.tbc-btn--save {
  background: #10B981;
  color: #fff;
}
.btn.action-button.tbc-btn--save:hover {
  background: #059669;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
  transform: translateY(-1px);
}

/* Elimina (rosso) */ 
.btn.action-button.tbc-btn--delete {
  background: #EF4444;
  color: #fff;
}
.btn.action-button.tbc-btn--delete:hover {
  background: #DC2626;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
  transform: translateY(-1px);
}

/* Aggiorna (blu) */ 
.btn.action-button.tbc-btn--update {
  background: #0284c7;
  color: #fff;
}
.btn.action-button.tbc-btn--update:hover {
  background: #0369a1;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.2);
  transform: translateY(-1px);
}

/* Modifica (blu chiaro/azzurro) */ 
.btn.action-button.tbc-btn--edit {
  background: #3B82F6;
  color: #fff;
}
.btn.action-button.tbc-btn--edit:hover {
  background: #2563EB;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
  transform: translateY(-1px);
}

/* ====================== VARIANTE SMALL (per tabelle) ====================== */
.btn.action-button.tbc-btn--sm {
  padding: 4px 10px;
  font-size: 11px;
  border-radius: 6px;
  min-width: auto;
}

.btn.action-button.tbc-btn--sm .fa,
.btn.action-button.tbc-btn--sm .fas,
.btn.action-button.tbc-btn--sm .far {
  font-size: 11px;
}

/* ====================== CONTAINER BOTTONI AZIONI TABELLA ====================== */
.tbc-action-buttons {
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
}

/* ====================== STATI COMUNI ====================== */
.btn.action-button.tbc-btn:active {
  transform: translateY(0);
}

.btn.action-button.tbc-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.btn.action-button.tbc-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}