button,
.btn,
.btn-xs,
.buy-btn,
.scene-tab,
.detail-tab,
.report-tab {
  font-family: inherit;
  letter-spacing: 0;
}

.btn,
.btn-xs,
.buy-btn {
  min-height: 36px !important;
  padding: 0.46rem 0.9rem !important;
  border-radius: 8px !important;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.btn:hover,
.btn-xs:hover,
.buy-btn:hover {
  transform: translateY(-1px);
}

.btn:disabled,
.btn-xs:disabled,
.buy-btn:disabled {
  background: #e5e7eb !important;
  border-color: #e5e7eb !important;
  color: #94a3b8 !important;
  box-shadow: none !important;
  cursor: not-allowed;
  transform: none;
}

.btn-sm,
.btn-xs {
  min-height: 36px !important;
  padding: 0.46rem 0.9rem !important;
  font-size: 0.78rem !important;
}

.btn-primary,
.btn-green,
.btn-blue,
.btn-orange,
.buy-btn,
.bx-p {
  background: #7c3aed !important;
  border-color: #7c3aed !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(124, 58, 237, 0.18);
}

.btn-primary:hover,
.btn-green:hover,
.btn-blue:hover,
.btn-orange:hover,
.buy-btn:hover,
.bx-p:hover {
  background: #6d28d9 !important;
  border-color: #6d28d9 !important;
}

.btn-outline,
.bx-o {
  background: #fff !important;
  border-color: #7c3aed !important;
  color: #7c3aed !important;
}

.btn-outline:hover,
.bx-o:hover {
  background: #faf5ff !important;
}

.btn-gray {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #475569 !important;
}

.btn-gray:hover {
  background: #f1f5f9 !important;
}

.btn-red,
.btn-danger,
.bx-r {
  background: #fff !important;
  border-color: #ef4444 !important;
  color: #dc2626 !important;
  box-shadow: none !important;
}

.btn-red:hover,
.btn-danger:hover,
.bx-r:hover {
  background: #fef2f2 !important;
}

.modal-close {
  min-width: 36px;
  min-height: 36px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.scene-tab,
.detail-tab,
.report-tab {
  min-height: 36px !important;
  border-radius: 8px !important;
  font-size: 0.78rem;
  font-weight: 700;
}

.scene-tab.active,
.report-tab.active {
  background: #7c3aed !important;
  border-color: #7c3aed !important;
  color: #fff !important;
  box-shadow: none;
}

.detail-tab.active {
  box-shadow: none;
}
