:root {
  --primary-color: #009c3b;
  /* Verde Bandeira */
  --primary-hover: #008031;
  --secondary-color: #002776;
  /* Azul Marinho */
  --secondary-hover: #001b52;
  --success-color: #009c3b;
  --success-hover: #008031;
  --danger-color: #ef4444;
  --danger-hover: #dc2626;
  --warning-color: #ffdf00;
  /* Amarelo Bandeira */
  --warning-hover: #e6c900;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-weight: 500;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  border: 1px solid transparent;
  gap: 0.5rem;
}

.btn:active {
  transform: scale(0.98);
}

.btn-primary {
  background: var(--primary-color);
  color: white;
}

.btn-primary:hover {
  background: var(--primary-hover);
}

.btn-secondary {
  background: var(--secondary-color);
  color: white;
}

.btn-secondary:hover {
  background: var(--secondary-hover);
}

.btn-success {
  background: var(--success-color);
  color: white;
}

.btn-success:hover {
  background: var(--success-hover);
}

.btn-danger {
  background: var(--danger-color);
  color: white;
}

.btn-danger:hover {
  background: var(--danger-hover);
}

.btn-warning {
  background: var(--warning-color);
  color: white;
}

.btn-warning:hover {
  background: var(--warning-hover);
}

.btn-sm {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
}

/* Compatibility fix for FontAwesome inside buttons */
.btn i {
  font-size: 0.9em;
}