.sync-btn {
  height: 42px;
  border: 1px solid #C9E7EF;
  background: #fff;
  color: var(--blue, #00A5C8);
  font-weight: 850;
  border-radius: 11px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  white-space: nowrap;
  transition: .18s ease;
}

.sync-btn[hidden] {
  display: none !important;
}

.sync-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: var(--blue, #00A5C8);
  box-shadow: 0 10px 22px rgba(0, 165, 200, .12);
}

.sync-btn:disabled {
  cursor: wait;
  opacity: .76;
}

.sync-btn[data-state="loading"] i {
  animation: bv-sync-spin .8s linear infinite;
}

.sync-btn[data-state="success"] {
  color: var(--green, #18A957);
  border-color: rgba(24, 169, 87, .35);
  background: var(--green-soft, #EAFBF1);
}

.sync-btn[data-state="error"] {
  color: var(--red, #E53E4B);
  border-color: rgba(229, 62, 75, .32);
  background: var(--red-soft, #FFF0F2);
}

@keyframes bv-sync-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1600px) {
  .sync-btn {
    width: 42px;
    padding: 0;
  }
  .sync-btn .sync-label {
    display: none;
  }
}

@media (max-width: 900px) {
  .sync-btn {
    display: none !important;
  }
}
